我们有一个包含java.util.Calendar
对象的对象。我们希望在JSF页面上显示数据(最好采用与java.util.Date
对象相同的格式)。似乎应该有一些干净的方法来做到这一点,而不是创建一个包装器类,只是为了将日历转换为日期。
java.util.Calendar
中保存的日期/时间的最干净的方法是什么? 使用Calendar
自己的getter Calendar#getTime()
。它返回一个Date
。然后,您可以按常规方式使用<f:convertDateTime>
。
<h:outputText value="#{bean.calendar.time}">
<f:convertDateTime type="both" dateStyle="long" />
</h:outputText>
对于others和@seangates:如果使用Calendar对象,则可以应用模式。例如
<h:outputText value="#{bean.calendar.time}" styleClass="date">
<f:convertDateTime pattern="EEEE, MMMM d yyyy" />
</h:outputText>
<h:outputText value="#{bean.calendar.time}" styleClass="time">
<f:convertDateTime pattern="hh:mm" />
</h:outputText>
如需进一步说明文本:
<h:outputFormat
value="#This my date: {0,date,long}">
<f:param value="#{bean.calendar.time}" />
</h:outputFormat>
见:https://docs.oracle.com/javase/7/docs/api/java/text/MessageFormat.html