2017-02-21 45 views
0

Обновлено: Я использовал календарь перформансов для отображения дат. Формат по умолчанию - mm/dd/yy, но для других языков, таких как german, это 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 баночку и JSF2.0.

Я не хочу добавлять еще один компонент календаря только для другого языка. Обратите внимание, что это происходит только тогда, когда я указываю формат для календаря else, когда он хорошо работает с разными локалями.

+0

есть ошибка в первом примере:..? на шаблон = "MM/DD/YYYY отсутствует закрытие цитата Я обычно работают на жидком использовать первый пример –

+0

какой тип createdDateTo я вижу тебя используйте конвертер –

+0

А ... возможно, недостающая цитата :(Но теперь есть еще одна проблема, такой же формат для всех локалей, например, для немецкого, это то же самое, что и английский dd/MM/yyyy instea d это должно быть dd.mm.yyyy createDateTo имеет формат java.util.Date –

ответ

0

Нет необходимости использовать преобразователь для дат, calendar поставляется с атрибутом называется шаблоном, вы можете использовать его, чтобы изменить шаблон дат, для Exemple <p:calendar pattern="dd.MM.yyyy HH:mm" /> это покажет 21.02.2017 15:42, вы можете изменить шаблон, чтобы разделить дату, однако вы, как с помощью точек, slach или любой символ

+0

Да, но если следовать этому подходу, то локализация перестает работать, поскольку каждый шаблон локали будет таким же. –

+0

Вам нужно включить локальные поля. См. Https://github.com/primefaces/primefaces/wiki/Locales. – ChristophS

 Смежные вопросы

  • Нет связанных вопросов^_^