您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

JSF convertDateTime呈现前一天

JSF convertDateTime呈现前一天

无疑,这是一个与时区有关的问题。

在日期/时间转换中,JSF认为GMT(UTC)。因此,如果你的服务器平台认时区为GMT + X(而不是GMT-X),则时间将回到过去的X小时。如果时间已经是00:00:00(午夜),则日期甚至可以追溯到过去的一天。

无论如何,有2种标准方法可以满足你的功能要求:

通过将以下上下文参数添加到JSF,告诉JSF使用服务器平台认时区代替所有日期/时间转换web.xml:

<context-param>
    <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYstem_TIMEZONE</param-name>
    <param-value>true</param-value>
</context-param>

更改每个<f:convertDateTime>以明确指定特定于Webapp的时区。由于你居住在德国,并且日期格式模式也证实了这一点,因此我将假设你是CET。

<f:convertDateTime ... timeZone="CET" />

无论如何,不??建议在整个应用程序中使用非通用甚至混合时区。建议将所有层和环境中的时区设置为UTC。不仅在服务器,前端层和表示层中,而且在sql数据库以及后端层和持久性层中。这样,代码对时区和与DST(!)相关的事项不敏感,并且仅在必要时你可以专注于仅在演示过程中更改时区。

其他 2022/1/1 18:15:56 有471人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶