Java Systemzeit falsch

Hallo,

die Systemzeit meiner JavaEE6 Umgebung unterscheidet sich von der Systemzeit meines Ubuntu.

Während Ubuntu 16:00 anzeigt bekomme ich von einem


new Date()

in Java 14:00 geliefert.

Kann mir jemand sagen wie ich die Java Zeit an die Ubuntu Zeit anpasse?

Das dürfte schlicht mit der Zeitzone zu tun haben (und ggf. mit Sommer/Winterzeit). Das meiste von Date ist deprecated, aber laut http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTimezoneOffset() sollte man den Unterschied mit
(Calendar.get(Calendar.ZONE_OFFSET) + Calendar.get(Calendar.DST_OFFSET)) / (60 * 1000)
rausrechnen können.

Kann man evtl. die Java Systemzeit global an die Ubuntuzeit anpassen? Ist es nicht so, dass sich Java die aktuelle Systemzeit von Ubuntu holen sollte?

Sorry, ob es da Einstellmöglichkeiten gibt weiß ich nicht auswendig, … man findet recht schnell sowas wie https://bugs.launchpad.net/ubuntu/+source/sun-java5/+bug/49068 oder http://stackoverflow.com/questions/9410806/why-java-util-date-is-giving-me-wrong-time , aber welche der Ansätze da für dich funktionieren könnte, kann ich garade nicht überblicken…

Lass Dir mal die TimeZone der JVM ausgeben:
System.out.println(TimeZone.getDefault());
Stimmt die mit der auf Ubuntu eingestellten überein?

Du kannst i.d.R. die Timezone Deines JEE-Applikationsservers anpassen. Bei JBoss geht das z.B. mit “-Duser.timezone=xxx”.