2013-02-07 47 views
-1

我想从p:calendar(2013-02-14)获取日期并将其传递给bean属性。这是有效的,但日期格式不一样,我通过它。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日,但周四2月14日01:00:00 CET 2013

On debugging

回答

4

一个Date对象存储以时间为基准的以毫秒为单位的long的日期。这是您可以看到的fastTime

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

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

告诉​​使用特定格式化时显示日期仍然将其存储在相同的方式。另一方面,调试器仅在显示对象时使用对象的默认格式。

尝试在你的表达窗口中使用

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

,你应该能看到你想看到它的日期。