Почему JVM показывает неправильный часовой пояс для (UTC+02:00) Стамбул?
JVM не показывает истинную дату, время и часовой пояс для (UTC+02:00) Istanbul.
Например: Сейчас в Стамбуле 12: 30 вечера.
Изменить системный часовой пояс на (UTC+02:00) Стамбул
Системная дата: 12: 30 03.07.2013
Java ouput: 05: 00: 00 VET 03.07.2013
JVM uzer.часовой пояс: Америка / Каракас
Изменить системный часовой пояс на (UTC-08:00) Pasific Time (US&Canada)
Системная дата: 02: 30 03.07.2013
Java ouput: 02: 30: 00 PDT 03.07.2013
JVM uzer.часовой пояс: Америка / Лос-Анджелес
Изменить системный часовой пояс на (UTC+02:00) Jarusalem
Системная дата: 12: 30 03.07.2013
Java ouput: 12: 30: 00 IDT 03.07.2013
JVM uzer.часовой пояс: Азия / Иерусалим
Это моя среда Java: java версия " 1.6.0_37" Среда выполнения Java(TM) SE (сборка 1.6.0_37-b06) Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 20.12-b01, смешанный режим) Windows 8
Есть ли какие-либо один, чтобы объяснить эту разницу?
Спасибо
2 ответа:
Это известная ошибка Java. Это было исправлено в Java 7 update 4 (см. Этот отчет об ошибке).
Оглядываясь на некоторые другие вопросы SO, кажется, что это проблема Java-on-Windows. Пожалуйста, взгляните на Как использовать идентификатор часового пояса Java в приложении Windows (не Java)? , особенно ответ 1, который указывает на ссылку Википедии, которая может решить вашу проблему отображения