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

问题描述 投票:0回答:2

我使用标准的道场日期选择器,它工作正常。唯一的问题是保存到文档中的实际值始终包含 12:00:00 时间部分。我认为它可能会尝试设置上午 12 点,但由于我在欧洲(CET 时区),它实际上意味着中午。

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

我找到了如何完全剥离时间部分的帖子,例如XPage - 仅在日期字段中保存日期,但在保存后需要额外的代码,并且在某些情况下,由于访问权限,我无法使用保存后。

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

我能够使用自定义渲染器和日期时间帮助器组件来更改行为,但这确实是一种矫枉过正。标准实现绕过了使用的转换器,因此仅自定义转换器没有帮助。

有什么方法可以强制日期字段只返回包含 00:00 时间部分的日期吗?我不希望它有任何神奇之处,它将仅将 dateonly 字段保存到文档中。

谢谢, M.

xpages
2个回答
0
投票

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

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


0
投票

使用带有转换器的标准 InputText 时,我得到 00:00 时间分量。但是,在重新加载该值时,夏令时还存在另一个问题。更多信息请参阅这篇文章 - https://www.pradny.com/2024/02/xpages-date-field-issue-solving-one-day.html

我在同一页面上比较了非Dojo和Dojo版本,Dojo将其保存为12:00,非Dojo保存为00:00(此测试是在9.0.1上完成的)。

© www.soinside.com 2019 - 2024. All rights reserved.