【问题标题】:JSF convertDateTime render timestamp wrongJSF convertDateTime 渲染时间戳错误
【发布时间】:2018-04-09 15:26:27
【问题描述】:

PrimeFaces 6.1,WebLogic 12cR2

我正在尝试在 .数据保存在 PostgreSQL 中,xhtml sn-p 为:

<p:dateTable>
   ......
<p:column headerText="#{clientpayment['web.payment.label.created']}">
  <h:outputText value="#{payment.created}">
  <f:convertDateTime pattern="dd MMM yy HH:MM:SS.mmm" />
</h:outputText></p:column>
   .......
</p:dataTable>

JSF 默认区域设置为我在 web.xml 配置文件中的系统区域设置:

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

实体被声明为:

@Basic
@Temporal(TemporalType.TIMESTAMP)
@javax.persistence.Column(name = "created", nullable = true, insertable = true, updatable = true)
private Date created;
public Date getCreated() {
    return created;
}
public void setCreated(Date created) {
    this.created = created;
}

数据库显示时间戳为:

接缝数据保持井井有条。

但是当我运行应用程序时,结果非常有趣。只有年、月、日和秒信息正确呈现,其他任何东西(小时、分钟和毫秒)都是错误的。

对有趣的事情有任何想法吗?这是我的应用程序中的错误还是某些错误?请指教!!

【问题讨论】:

  • 如果不在 PrimeFaces 数据表中使用,它是否有效?

标签: datetime jsf primefaces format converter


【解决方案1】:
f:convertDateTime 元素的 pattern 属性中的

日期时间格式不正确。

应该是dd MMM yy HH:mm:ss.SSS

【讨论】:

  • @cidy.long 您是否出于测试目的尝试过应用其他日期时间格式?例如,dd-MM-yyyy HH:mm:ss。输出正确吗?
  • 试过了。没什么不同。
  • 那么你很可能没有运行你认为正在运行的代码
猜你喜欢
  • 2013-10-02
  • 2014-03-13
  • 1970-01-01
  • 2013-07-13
  • 2012-12-24
  • 2013-12-15
  • 1970-01-01
  • 2012-09-03
相关资源
最近更新 更多