<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。
因此,我需要的输出是2012年3月9日。
但是使用下面的代码(在设置模式之后)
<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>
我得到的输出是2012年2月9日
无论数据库中的日期是什么,它都会减少一天的输出。
预先感谢。
最佳答案
您应该将适当的timeZone
属性添加到convertDateTime
组件。
例如在我的区域
<f:convertDateTime pattern="dd-MM-yyyy" timeZone="Asia/Calcutta" />
笔记:
您可以使用
java.util.TimeZone.getDefault().getID()
来获取您当前的时区ID。关于jsf - 如何在jsf页面上设置日期模式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13857888/