我试图在此代码中仅显示日期,月份和年份,但是当我输入初始日期并单击原位显示的保存按钮时,显示日期为:“Thu Aug 21 00:00:00 BOT 2014" 我只想显示:“2014年8月21日”或“2014年8月21日”
这是代码:
<p:outputLabel value="#{msg['startDate']}" for="inputInitialDate"/>
<p:inplace id="inputInitialDate" editor="true" emptyLabel="#{msg['period.addInitialDate']}"
disabled="#{periodManager.currentPeriod.state == 'DUE'}">
<p:ajax event="save" listener="#{periodManager.addDateToPeriod}" update="formContainer"/>
<p:calendar value="#{periodManager.currentPeriod.initialDate}" pattern="dd/MM/yyyy"
widgetVar="calendarInputWidget"/>
</p:inplace>
<p:message for="inputInitialDate"/>
答案 0 :(得分:5)
将<f:convertDateTime>
添加到日历中,重复pattern
。 <p:calendar>
自己的pattern
属性确实最常被误解。它仅适用于应在日历选择弹出窗口中显示的模式,而不适用于输出模式。
<p:calendar ... pattern="dd/MM/yyyy">
<f:convertDateTime pattern="dd/MM/yyyy" />
</p:calendar>
或者,多一点干。
<p:calendar ... pattern="dd/MM/yyyy">
<f:convertDateTime pattern="#{component.pattern}" />
</p:calendar>