Es gehoert zum guten Ton Zahlen, Datum und Zeit erst in der Oberflaeche zu formatieren. Fuer die Datumsformatierung in JSF ist das Tag
<f:convertDateTime />
zustaendig. Ich habe ein Datum mit folgendem Code formatiert.
<h:outputText value="#{queryBean.query.createDate}" > <f:convertDateTime pattern="dd.MM.yyyy HH:mm:ss" /> </h:outputText>
Irgendwann hat mich ein Kunde darauf hingewiesen das die Datumsanzeigen alle um zwei Stunden falsch angezeigt werden und ich soll doch bitte die Uhrzeit auf dem Server ueberpruefen. Die Uhrzeit auf dem Server war richtig eingestellt. Das Problem lag in der Komponente selbst, die automatisch von der GMT Zeit aus geht wenn keine timeZone angegeben ist. Fuer Deutschland muss die timeZone auf “GMT+2” gesetzt werden.
<h:outputText value="#{queryBean.query.createDate}" > <f:convertDateTime pattern="dd.MM.yyyy HH:mm:ss" timeZone="GMT+2" /> </h:outputText>
kurz und klar, hat uns schnell geholfen. Danke!
Das hört man gerne 🙂
Super! Vielen Dank für die Hilfestellung. Hat mir auch schnell geholfen.
Die Zeitzone “GMT+2” macht die Sommerzeit Umstellung nicht mit, wie hier beschrieben wird sollte man “Europe/Berlin” als Zeitzone verwenden: http://trainfactory.de/blog/zeitzone-einstellen-mit/
auch ein Ansatz
public String getTimeZone(){
return Calendar.getInstance().getTimeZone().getID();
}