我想从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-02-14,但是是2月14日星期四01:00:00 CET 2013
答案 0 :(得分:4)
Date
对象基于时期以毫秒为单位存储日期long
。那是你可以看到的fastTime
。
当它显示为2013-02-14
或Thu Feb 14 01:00:00 CET 2013
两者具有相同的值时,它们只是以不同的方式格式化,您必须考虑时区。
<f:convertDateTime pattern="yyyy-MM-dd"/>
告诉jsf
在显示日期时使用特定的格式化程序,它仍会以相同的方式存储它。另一方面,调试器只会在显示对象时使用默认格式。
尝试使用
new SimpleDateFormatter("yyyy-MM-dd").format(this.start)
在您的表达式窗口中,您应该看到要查看的日期。