【发布时间】:2017-02-21 09:25:43
【问题描述】:
更新:我使用 primefaces 日历来显示日期。它的默认格式是 mm/dd/yy,但对于德语等其他语言环境,它是 dd.mm.yy。如果我指定英语的格式,例如 dd/MM/yyyy,那么它会显示正确的英语格式,但是在将语言更改为德语时,它会再次显示 dd/MM/yyyy 而不是 dd.MM.yyyy
我已经试过了:
<p:calendar id="createdDateToDK"
value="#{messagesDefaultKeys.createdDateTo}" showOn="button"
mode="popup" navigator="true" pattern="dd/MM/yyyy>
<f:converter converterId="messages.convertors.DateConvertor" />
</p:calendar>
我也尝试过以下方法:
<p:calendar id="createdDateToDK"
value="#{messagesDefaultKeys.createdDateTo}" showOn="button"
mode="popup" navigator="true">
<f:convertDateTime for="createdDateToDK" pattern="dd/MM/yyyy"></f:convertDateTime>
</p:calendar>
我正在使用 primefaces3.5 jar 和 JSF2.0。
我不想只为另一种语言添加另一个日历组件。请注意,只有当我指定日历的格式时才会发生这种情况,而它适用于不同的语言环境。
【问题讨论】:
-
第一个例子有一个错误:on pattern="MM/dd/yyyy缺少结束引号。我通常使用第一个例子。
-
createDateTo 是什么类型?我看到你使用转换器
-
啊.... 可能缺少引号 :( 但现在还有另一个问题相同的格式适用于所有语言环境,例如对于德语,它与英语 dd/MM/yyyy 相同,而应该是dd.mm.yyyy createDateTo 是 java.util.Date 格式
-
尝试将格式作为 EL 表达式从 bean 字段发送
-
使用字符串模式1 = ((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, locale)).toPattern();您将获得指定区域设置的默认日期格式
标签: primefaces jsf-2