Я работаю с JSF 2.0 + Primefaces + Tomcat + Maven + JPA, а в моем web.xml у меня есть этот кусок кода:
<context-param>
<param-name>javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE</param-name>
<param-value>true</param-value>
</context-param>
С этим я надеюсь, что значение "convertDateTime" должно отображаться нормально, но в базе данных у меня есть это: "04/01/2014 15:10" и в приложении показать это: "04/01/2014 03:10".
Как я могу это исправить?
ИЗМЕНИТЬ 1:
Если я так использую, то все работает:
<f:convertDateTime timeZone="America/Sao_Paulo" pattern="dd/MM/yyyy HH:mm:ss"/>
Но я хочу избежать изменения всех моих тегов, чтобы вставить "timeZone = 'America/Sao_Paulo". Есть ли другой способ?
РЕШЕНИЕ
Решение проще, чем я себе представляю. Я просто изменил шаблон "hh: mm: ss" на "HH: mm: ss". Проблема "hh" была проблемой, потому что это просто показывает 12H, а не 24H.
Вы можете изменить часовой пояс по умолчанию в web.xml. Просто добавь:
<context-param><param-name>timezone</param-name>
<param-value>America/Sao_Paulo</param-value></context-param>
и удалите javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE