如何在jsf页面上设置日期模式?

时间:2012-12-13 10:29:40

标签: jsf jsf-2

<rich:column>
    <f:facet name="header">
          <h:outputText value="Expiry Date"/>
    </f:facet>
    <h:outputText value="#{item.endDate}">

    </h:outputText>
</rich:column>

使用上面的代码,我从数据库得到的日期是2012-09-03 00:00:00.0

现在,我想将日期模式设置为dd-MM-yyyy。

所以我要求的输出是03-09-2012。

但使用下面的代码(设置模式后)

<rich:column>
     <f:facet name="header">
         <h:outputText value="Expiry Date"/>
     </f:facet>
     <h:outputText value="#{item.endDate}">
          <f:convertDateTime pattern="dd-MM-yyyy"  />
     </h:outputText>
</rich:column>

我的输出是02-09-2012

无论数据库中的日期是什么,它都会显示输出减少一天。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

您应该为timeZone组件添加合适的convertDateTime属性。 有关我所在区域的示例

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

注意:

您可以使用java.util.TimeZone.getDefault().getID()获取当前时区ID。