【问题标题】:jsf datetimeconverter showing date one day beforejsf datetimeconverter 显示前一天的日期
【发布时间】:2014-11-11 06:25:56
【问题描述】:

jsf 2 glassfish 4 primefaces 5.1

我正在使用 f:convertDateTime 来转换日期的显示方式,但它显示的日期错误。 当我通常显示它显示的日期时 2011 年 1 月 1 日星期六 00:00:00 AST

这是正确的,但不是我想要展示的

所以我使用<f:convertDateTime dateStyle="short"></f:convertDateTime>,但没有显示 2011 年 1 月 1 日 它给了我 2010 年 12 月 31 日

我尝试使用 <f:convertDateTime pattern="MM/dd/yyyy"></f:convertDateTime> 但这也给了我 2010 年 12 月 31 日 代替 2011 年 1 月 1 日

<p:column headerText="Installation Date"
    filterBy="#{w.installationDate}"
          filterMatchMode="contains"
          sortBy="#{w.installationDate}">
        <h:outputText value="#{w.installationDate}" >
        <f:convertDateTime pattern="MM/dd/yyyy"></f:convertDateTime>
        </h:outputText>
    </p:column>

【问题讨论】:

  • 我认为你是时区的问题。将时区添加到您的输出中,以查看转换器使用的时区。
  • @jens 谢谢,显示了它显示 GMT 的时区,但我尝试使用它很奇怪 早些时候没有工作,在您的建议显示 AST 被设置为 ASKT 后显示时区。不知道为什么。手动将其设置为“亚洲/利雅得”,它的工作原理

标签: date jsf 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-28
    • 2020-04-27
    相关资源
    最近更新 更多