首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Java6系统时间的Tomcat7上的JSF显示委内瑞拉时间

带有Java6系统时间的Tomcat7上的JSF显示委内瑞拉时间
EN

Stack Overflow用户
提问于 2012-08-06 00:22:45
回答 2查看 290关注 0票数 1

编辑:JSF实现: Mojorra 2.1.9

我的web应用程序的行为很奇怪。当我在服务器机器上部署我的应用程序时,它显示了委内瑞拉标准时间。像这样Sun Aug 05 11:46:26 VET 2012

问题是我不在委内瑞拉。我检查了服务器上的时区配置,它是正确的。当我在我的本地机器上运行应用程序时,根本没有问题,时间是正确的。但在部署时,时机是错误的。

我将下面的上下文参数放入web.xml中,但它不会有任何帮助。我不知道是什么问题

代码语言:javascript
复制
<context-param>
    <param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
    <param-value>true</param-value>
</context-param>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-06 04:19:33

我用“-Duser.timezone=Europe/ is”参数启动了tomcat,现在是时候了。我不明白为什么默认时间是委内瑞拉时间,但这解决了我的问题。将进一步研究这一问题,以了解是什么导致了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2012-08-06 00:25:24

默认情况下,JSF日期时间转换器使用UTC。只有当您设置该上下文参数时,它才会默认为系统时区(底层服务器平台的时区)。显然,有问题的服务器被配置为默认的委内瑞拉时区(可能是因为它是在委内瑞拉托管的,由一个不知道自己在做什么的serveradmin维护?)。

删除上下文参数应该可以解决您的具体问题,假设您使用而不是覆盖了JSF date time转换器或它们的设置,例如,通过自定义转换器或通过设置<f:convertDateTime>timeZone属性。

如果这不能以某种方式解决您的问题,那么尝试升级JSF实现(但是我不记得Mojarra中有任何与此相关的bug,所以如果您使用Mojarra,我不认为升级可以解决这个问题;但是我不确定MyFaces ),或者尝试显式地设置页面中每个<f:convertDateTime>标记的timeZone属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11818038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档