我有p:calendar
:
<p:calendar showButtonPanel="true" showOn="button" timeZone="#{settingsBL.getTimeZoneIdSet()}" mask="true" pattern="#{searchBL.determineDateTimePatternForField(cc.attrs.curMaskElement)}" />
如果我点击区域设置de_DE
的按钮当前日期,则会设置值22.10.15 15:40:37
。提交表单后,日历会显示正确的值22.10.15 15:40:37
。模式为dd.MM.yy HH:mm:ss
。如果我切换到区域设置en_US
并单击当前日期按钮,则日历输入将获得10/22/15 3:43:18 PM
。如果我提交或仅单击日历输入字段(获得焦点),则值为1/0/22 1:53:43 1
。模式为M/d/yy h:mm:ss a
。这是日历错误吗?
我确定了这样的语言环境模式:
DateFormat di = DateFormat.getDateInstance(DateFormat.SHORT, currentLocale);
if (di instanceof SimpleDateFormat) {
final SimpleDateFormat sdf = (SimpleDateFormat) di;
this.datePattern = sdf.toPattern();
}
我正在使用primefaces 5.2.14。