Frage

JVM does not show true date time and time zone for (UTC+02:00) Istanbul.

For example: Now time is 12:30 PM in Istanbul.


Change System Time Zone to (UTC+02:00) Istanbul

System Date: 12:30 PM 03.07.2013

Java ouput: 05:00:00 VET 03.07.2013

JVM uzer.timezone: America/Caracas


Change System Time zone to (UTC-08:00) Pasific Time(US&Canada)

System Date: 02:30 AM 03.07.2013

Java ouput: 02:30:00 PDT 03.07.2013

JVM uzer.timezone: America/Los_Angeles


Change System Time zone to (UTC+02:00) Jarusalem

System Date: 12:30 PM 03.07.2013

Java ouput: 12:30:00 IDT 03.07.2013

JVM uzer.timezone: Asia/Jerusalem


This is my Java Environment: java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode) Windows 8

Is there any one to explain this difference?

Thanks

War es hilfreich?

Lösung

It is known Java bug. It has been fixed in Java 7 update 4 (see this bug report).

Andere Tipps

Looking back on some other SO questions, this seems to be a Java-on-Windows problem. Please have a look at How to use Java timezone id in a Windows (non-Java) application? , especially answer 1, which points to a wikipedia link that may solve your mapping issue

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top