带有日期选择器的XPages日期字段以12:00:00时间保存值

带有日期选择器的XPages日期字段以12:00:00时间保存值,xpages,Xpages,我使用标准的dojo日期选择器,它工作得很好。唯一的问题是保存到文档中的实际值始终是12:00:00时间部分。我想它可能会设置为上午12点,但因为我在欧洲(CET时区),所以它实际上意味着中午 当我稍后尝试进行日期/时间比较时,这非常烦人 我找到了一些帖子,比如说,我可以完全剥离时间部分,但在后期保存中需要额外的代码,在某些情况下,由于访问权限,我无法使用后期保存 我知道XPages使用的javadate没有日期选项,但至少应该返回00:00,而不是12:00。当我尝试在转换器上使用时区设置时,

我使用标准的dojo日期选择器,它工作得很好。唯一的问题是保存到文档中的实际值始终是12:00:00时间部分。我想它可能会设置为上午12点,但因为我在欧洲(CET时区),所以它实际上意味着中午

当我稍后尝试进行日期/时间比较时,这非常烦人

我找到了一些帖子,比如说,我可以完全剥离时间部分,但在后期保存中需要额外的代码,在某些情况下,由于访问权限,我无法使用后期保存

我知道XPages使用的javadate没有日期选项,但至少应该返回00:00,而不是12:00。当我尝试在转换器上使用时区设置时,我在字段中得到了甚至不同的时间值

我可以使用datetimehelper的自定义渲染器和组件来更改行为,但这确实是一种过度使用。标准实现绕过了使用的转换器,所以只是自定义转换器并没有帮助

有没有办法强制日期字段只返回带有00:00时间部分的日期?我不指望它会在文档中只保存dateonly字段

谢谢,
M.

不,它并没有试图设置上午12点并且受时区的影响,您看到的是标准的。我想它是从9.0开始的。我怀疑这个时间安排是为了避免夏时制变化的影响


一个选项是在字段的DateTime对象上调用.setAnyTime()。

请提供代码段。除了使用.setAnyTime()更正postSaveDocument事件中的日期字段,我看不到其他方法如问题的链接所示,或者您的解决方案带有datetimehelper的自定义渲染器和组件。由于时区属性的一些奇怪组合,我得到了13:00,但我没有进一步调查。在最坏的情况下,当用户不再具有编辑权限时,我可以在postSaveDocument中使用setAnyTime和sessionAsSigner。可能甚至OpenNTF Domino API在这里也没有帮助:)请记住,仅日期字段不能有时区(对于仅时间字段也是如此)。如果检索DateTime对象并尝试检查时区,它将返回一个负数。