-1

我正在尝试从 p:calendar (2013-02-14) 获取日期并将其传递给 bean 属性。它有效,但日期格式与我通过它的日期格式不同。

代码:

<h:outputLabel value="Start date:"></h:outputLabel>
<p:calendar pattern="yyyy-MM-dd" showButtonPanel="true" navigator="true"  id="startDate" value="#{dodajanjeProjekta.start}" >
    <f:convertDateTime pattern="yyyy-MM-dd"/>
</p:calendar> 

值必须为 2013 年 2 月 14 日,但为 2013 年 2 月 14 日星期四 01:00:00 CET

调试时

4

1 回答 1

4

Date对象将日期存储为long基于纪元的毫秒数。那就是fastTime你可以看到的。

当它显示为2013-02-14Thu Feb 14 01:00:00 CET 2013两者具有相同的值时,它们只是以不同的方式格式化,您必须考虑时区。

<f:convertDateTime pattern="yyyy-MM-dd"/> 

告诉在显示jsf日期时使用特定的格式化程序,它仍将以相同的方式存储它。另一方面,调试器在显示对象时只会使用对象的默认格式。

尝试使用

new SimpleDateFormatter("yyyy-MM-dd").format(this.start)

在您的表达式窗口中,您应该可以看到想要查看的日期。

于 2013-02-07T23:42:17.613 回答