2

我们在 xpages 中有一个关于日期的非常奇怪的问题,我们拥有的 Notes 文档包含一个日期字段,并且该值只是一个日期,没有时间部分。

在 xpage 中,我指定将日期显示为日期/时间值。日期在网页上正确显示,但我们现在从夜间(午夜左右)登录的用户那里获得报告,并看到日期调整了一天。如果同一个人在白天登录,则日期是正确的,所以这似乎只发生在午夜左右

我试图将我的客户端上的时钟更改为午夜左右,但这并没有重现它,所以我认为这是一个服务器问题。

多米诺服务器有正确的日期/时间,我们使用的是最新版本的 Domino

有任何想法吗?

4

4 回答 4

3

我们最近遇到了同样的问题,我相信,找到了一个非常好的解决方案。

系统将纯日期视为 UTC 时区的日期。日期值会自动转换为服务器的时区。那么问题是如何防止转换?

此代码防止转换:

<xp:this.converter>
    <xp:convertDateTime 
        type="date" 
        ignoreUserTimeZone="true" 
        dateStyle="long" 
        timeZone="UTC">
    </xp:convertDateTime>
</xp:this.converter>

注意“timeZone”属性。

于 2012-12-17T05:56:28.327 回答
2

该问题与未在日期/时间字段中指定时区有关。我们昨天遇到了这个问题。如果您没有指定 TZ,它似乎假定为 UTC 并会相应调整。包括时区,您的字段将停止错误调整。

于 2012-06-20T12:29:25.160 回答
0

也许与此有关? http://www-304.ibm.com/support/docview.wss?uid=swg21508734

我看过一些关于 XPages 日期和时区问题的报告

于 2012-06-20T12:15:57.943 回答
0

我怀疑您的 Domino 版本是 8.5.3,因为有 2 个 APAR,LO72278 和 LO67745,与 8.5.3 有类似问题。Fixpack 3 解决了这些问题。

根本原因是 Lotus Notes 允许您保存没有时间或区域的“日期”,并且 Notes 服务器有一个默认的时区设置来解释这些不完整的东西,称为日期。XPages 不遵循相同的规则,它的主 Java 想知道您正在使用哪个区域,并从系统中寻找一些线索,并且通常会在某个 TZ 中使用午夜来指代“日期”。Stack Overflow 上有一个关于“如何存储/表示日期”主题的整个区域 - [datetime] - 因为语言和 DBMS 都有自己的方法。

很好的关于它的遗留 Notes 文章。 http://www-10.lotus.com/ldd/ddwiki.nsf/dx/05022009100728PMAGU5MB.htm

关于它的 XPages 文章 http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPagesTimeZones.htm

太糟糕了,他们并不完全在同一页面上,我认为每个版本都会更接近。

于 2013-08-07T16:46:09.450 回答