在 XPage 中发现错误
Bug found in XPages
试试这个代码:
<xp:text escape="true" id="computedField4">
<xp:this.value><![CDATA[#{javascript:
var td= @Adjust(@Date(2015,3,1), 0, 1, 0, 0, 0, 0);
return @Text(@Year(td))+","+@Text(@Month(td))+","+@Text(@Day(td));
}]]></xp:this.value>
</xp:text>
预期产出:2015,4,1
实际产量:2015,3,29
更新
这解决了问题,但是有没有更短的版本:
<xp:text escape="true" id="computedField4">
<xp:this.value><![CDATA[#{javascript:
var cal= java.util.Calendar.getInstance();
cal.add(java.util.Calendar.MONTH, 1);
var td:Date= cal.getTime();
return td.getFullYear()+","+(td.getMonth()+1)+","+td.getDate();
}]]></xp:this.value>
</xp:text>
TIA。
我试了一下,发现我得到的是2015,4,1。你是哪个版本的Domino运行?我在 Win 64 的 9.0.1FP2 HF384 上试过了。
3 月 1 日,我无法在 Windows 和 @Date(2015,3,1)
的英国语言环境 returns 的计算字段中的 9.0.1 FP2 HF1 上重现,正如预期的那样。但这可能是一个因素http://xpages.info/XPagesHome.nsf/Entry.xsp?documentId=5655E1203988BEF0852578CB0066A339。您将跨越夏令时,以及结合本地和 UTC。
更新是更好的方法。你只使用 Java 个对象,所以不依赖于内部操作。另外,您正在处理具有日期和时间且特定于语言环境的 Calendar
对象,而不是在没有时间的情况下设置 @Date()
,然后设置 运行 @Adjust
,这确实并且还经历了 DST 的开始。
试试这个代码:
<xp:text escape="true" id="computedField4">
<xp:this.value><![CDATA[#{javascript:
var td= @Adjust(@Date(2015,3,1), 0, 1, 0, 0, 0, 0);
return @Text(@Year(td))+","+@Text(@Month(td))+","+@Text(@Day(td));
}]]></xp:this.value>
</xp:text>
预期产出:2015,4,1
实际产量:2015,3,29
更新
这解决了问题,但是有没有更短的版本:
<xp:text escape="true" id="computedField4">
<xp:this.value><![CDATA[#{javascript:
var cal= java.util.Calendar.getInstance();
cal.add(java.util.Calendar.MONTH, 1);
var td:Date= cal.getTime();
return td.getFullYear()+","+(td.getMonth()+1)+","+td.getDate();
}]]></xp:this.value>
</xp:text>
TIA。
我试了一下,发现我得到的是2015,4,1。你是哪个版本的Domino运行?我在 Win 64 的 9.0.1FP2 HF384 上试过了。
3 月 1 日,我无法在 Windows 和 @Date(2015,3,1)
的英国语言环境 returns 的计算字段中的 9.0.1 FP2 HF1 上重现,正如预期的那样。但这可能是一个因素http://xpages.info/XPagesHome.nsf/Entry.xsp?documentId=5655E1203988BEF0852578CB0066A339。您将跨越夏令时,以及结合本地和 UTC。
更新是更好的方法。你只使用 Java 个对象,所以不依赖于内部操作。另外,您正在处理具有日期和时间且特定于语言环境的 Calendar
对象,而不是在没有时间的情况下设置 @Date()
,然后设置 运行 @Adjust
,这确实并且还经历了 DST 的开始。