在我负责的一个个人日程模块中,使用了一个<t:inputCalendar/>进行日期的选择,并用一个<h:outputText/>将所选择的日期显示出来。这时候问题就出来了,如要我在<t:inputCalendar/>中选择一个日期,在<h:outputText/>中输出的日期总是会比选择的日期提前一天。搞得很久都没有办法解决,最后还是用多一个<t:inputCalendar/>解决了问题,为了保持样式和<h:outputText/>一致。可以设置<t:inputCalendar/>的属性。
如
<t:inputCalendar displayValueOnly="true" renderAsPopup="true" readonly="true" value="#{yourBackingBean.selectDate }"/> 如此就可以正常显示了,样式和<h:outputText/>无异。
为什么<f:outputText/>用来输出Date类型就会比预期的日期提前一天呢?