【发布时间】:2015-10-09 11:59:31
【问题描述】:
在 Web 应用程序中,用户可以选择传递给日历小部件的 timezone 属性的时区:
<p:calendar value="#{curValue}" timeZone="#{settingsBL.getTimeZoneIdSet()}" />
后备 bean 中的交付日期被转换为服务器的时区(在我的例子中是 JBoss 的 CEST)。后端希望日期和时间与 UTC 一样(并以 UTC 格式提供)。
因此,当我存储日期时,我必须将 CEST 日期转换为 UTC 并保存。如果日期是从后端传递的,则它是 UTC。我必须将它转换为系统默认值(带有 CEST 的 JBoss),并且日历会注意它在客户端上正确显示。
这个对吗?我对此有点困惑。服务器时区是可变的,不能硬设置为 UTC 或其他东西。
对于我的示例,来自客户端的日期始终转换为 CEST。不管我在 web.xml 中设置什么javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE。
我在 JBoss 6.4 中使用 primefaces 5.2.13 和 Mojarra 2.2.12
【问题讨论】:
标签: jsf-2 primefaces jsf-2.2