我的数据库中有日期时间。当我尝试显示它时,“小时”是错误的(6小时以上)。
DB 2013-03-12 10:05:49
Display 2013/03/12 16:05:49
我正在使用primefaces,这是代码:
<p:column id="fecha" headerText="Fecha" style="text-align: center">
<h:outputText value="#{con.fecha}" >
<f:convertDateTime pattern="yyyy/MM/dd HH:mm:ss" />
</h:outputText>
</p:column>
我尝试使用模式HH
,但它似乎不起作用。
答案 0 :(得分:6)
在web.xml
尝试粘贴这些行:
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
答案 1 :(得分:2)
您正面临TimeZone问题......
我解决了这个问题,从here获取timeZone并更改f:convertDateTime,如下所示:
这
<f:convertDateTime pattern="yyyy/MM/dd HH:mm:ss" />
要
<f:convertDateTime pattern="yyyy/MM/dd HH:mm:ss" timeZone="America/Montevideo" />
这不是花哨但有效。
通过将此代码添加到de web.xml
,您可以找到更好的解决方案here<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>