Celui du serveur n'est pas pris en compte.
Pour MyFaces, ces spécifications sont respectées depuis les versions supérieures à 1.1.0
- package javax.faces.convert;
- ...
- public class DateTimeConverter implements Converter, StateHolder {
- ...
- private static final TimeZone TIMEZONE_DEFAULT = TimeZone.getTimeZone("GMT");
- ...
- }
Ainsi, il faudrait préciser le fuseau horaire dans toutes les pages affichant des dates si on souhaite en utiliser un autre.
- <h:outputText value="#{bean.date}">
- <f:convertDateTime timeZone="Europe/Paris"/>
- </h:outputText
Fastidieux!
Le plus simple est d'écrire son propre DateTimeConverter :
- import java.util.TimeZone;
- import javax.faces.convert.DateTimeConverter;
- public class MyDateTimeConverter extends DateTimeConverter {
- public MyDateTimeConverter() {
- super();
- setTimeZone(TimeZone.getDefault());
- }
- }
et de faire en sorte qu'il devienne le converter par défaut :
- <converter>
- <converter-for-class>java.util.Date</converter-for-class>
- <converter-class>MyDateTimeConverter</converter-class>
- </converter>