【问题标题】:f:convertDateTime displays wrong hour [duplicate]f:convertDateTime 显示错误的时间 [重复]
【发布时间】:2013-02-28 07:08:17
【问题描述】:

我的数据库中有日期时间。当我尝试显示它时,“小时”是错误的(多 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,但它似乎不起作用。

【问题讨论】:

    标签: jsf datetime primefaces


    【解决方案1】:

    在您的web.xml 中尝试粘贴这些行:

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

    【讨论】:

      【解决方案2】:

      您正面临时区问题...

      我解决了这个问题,从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" />
      

      这并不花哨,但它确实有效。

      一个更好的解决方案你可以找到它here通过将此代码添加到 de web.xml

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

      【讨论】:

        猜你喜欢
        • 2011-02-10
        • 1970-01-01
        • 2020-03-15
        • 2014-08-05
        • 2014-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多