Comments 24
Одного меня замучили посты про перевод времени?
Самое хреновое это то что надо перезапускать все java-программы для применения изменений. Еще более хреново, что надо обновить библиотеку joda-time, если ее используете, так как у joda своя информация о таймзонах
Народ, вам точно помог этот патч? — У меня стоит последний JDK 1.6.0_29-b11 и установлен это патч, но один хрен System.out.println(new Date()) выдает время на час меньше, чем нужно. TimeZone.getDefault().getRawOffset() возвращает «10800000», что соответствует GMT+3, что тоже не верно, т.к. мы сейчас в GMT+4.
Что интересно, если запустить тест (ключ -t) в этом патуе на свеже-установленную JDK, то он выдает херову тучу ошибок, после применения патча — ошибок в этом тесте нет, но что до, что после патча, время он показывает на час меньше нужного.
Есть какие-нибудь идеи?
Что интересно, если запустить тест (ключ -t) в этом патуе на свеже-установленную JDK, то он выдает херову тучу ошибок, после применения патча — ошибок в этом тесте нет, но что до, что после патча, время он показывает на час меньше нужного.
Есть какие-нибудь идеи?
Последняя выложенная версия updater'а 1.3.42, а последняя фактическая 1.3.44. Отдельно её нигде не скачать, а сайт Oracle предлагает обращаться в поддержку (платную). Можно взять обновление таймзон из репозитория какого-нибудь дистрибутива линукса и заменить папку zi руками или поставить JDK 7, в который включено это обновление.
Только что скачал и поставил JDK7 (1.7.0_01-b08), с этим патчем и без него, время показывается неправильное. Где конкретно в линуксе искать папку zi? Пример можно?
Я тестировал с JDK 1.7.1, версия tzdata — 2011m. Нужно заменить папку /usr/share/javazi. В репозитории убунты есть нужная версия.
У меня есть Ubuntu 10.04.3 LTS, со всеми обновлениями, в ней имеется Java 1.6.0_26. Директории /usr/share/javazi у меня нет, но есть /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/zi.tzdata2011g, что в общем-то, немного устаревшая версия.
Ко всему прочему, у меня есть подозрения, что версия 1.3.44 патча вряд ли решит проблему, т.к. если посмотреть changelog с 1.3.42 до 1.3.44 ничего напрямую относящегося к России там нет. Но я могу ошибаться.
В любом случае, мог бы ты где-нибудь выложить этот 2011m на благо общественности? :-)
Ко всему прочему, у меня есть подозрения, что версия 1.3.44 патча вряд ли решит проблему, т.к. если посмотреть changelog с 1.3.42 до 1.3.44 ничего напрямую относящегося к России там нет. Но я могу ошибаться.
В любом случае, мог бы ты где-нибудь выложить этот 2011m на благо общественности? :-)
Для проверки правильности используйте параметр -t
P.S. Все же задам вопрос, где неправильно показывает?
P.S. Все же задам вопрос, где неправильно показывает?
1. У ОС должна быть корректная таймзона выставлена, так как TimeZone.getDefault() берет с установок ОС.
2. На каждый инстанс явы апдейт надо отдельно накатывать
3. После апдейта надо рестартнуть запущенную ява программу.
2. На каждый инстанс явы апдейт надо отдельно накатывать
3. После апдейта надо рестартнуть запущенную ява программу.
1. У ОС с таймзоной все OK (тестирую в Windows 7, timezone стоит UTC+4), но TimeZone.getDefault() возвращает GMT+3.
2. Да, я в курсе. Все так и делал.
3. Рестартанул не только программу, но и всю систему.
Блин, неужели у меня одного такая проблема? У меня на всех компьютерах (дома, на работе) есть эта проблема.
2. Да, я в курсе. Все так и делал.
3. Рестартанул не только программу, но и всю систему.
Блин, неужели у меня одного такая проблема? У меня на всех компьютерах (дома, на работе) есть эта проблема.
TimeZone.getDefault().getID() правильное значение?
TimeZone.getDefault().useDaylightTime() false?
помнится был баг на XP когда JVM неправильное значение часового пояса брала, приходилось ключ запуска вручную пихать правильную таймзону.
TimeZone.getDefault().useDaylightTime() false?
помнится был баг на XP когда JVM неправильное значение часового пояса брала, приходилось ключ запуска вручную пихать правильную таймзону.
Друзья, я не против данного треда, хотелось бы узнать, а где вы раньше были, до фактического перевода времени?
Неужели за 6 месяцев никто не поднял данную проблему и не решил ее?
Неужели за 6 месяцев никто не поднял данную проблему и не решил ее?
Что-то не удаётся зайти на сайт Oracle по логину и паролю.
Видимо, все кинулись качать обновление.
Видимо, все кинулись качать обновление.
Может кому-нибудь ещё пригодится информация как обновляться на Windows.
Скачиваете Oracle Timezone Update Tool.
Распаковываете куда-нибудь недалеко, например в корень «C:\».
Открываете консоль с админским доступом, чтоб были права записи в «Program Files» и «Program Files (x86)».
Заходите в консоли в папки «bin» установленных у вас JDK и JRE и оттуда выполняете команды ниже. Некоторые программы любят использовать собственные JRE (устанавливают в свою папку), про них тоже не забываем.
Для тестирования используется флаг "-t". Если всё нормально, то выдаёт пустую строку в консоль. В противном случае — список ошибок.
Для обновления используется флаг "-u".
Скачиваете Oracle Timezone Update Tool.
Распаковываете куда-нибудь недалеко, например в корень «C:\».
Открываете консоль с админским доступом, чтоб были права записи в «Program Files» и «Program Files (x86)».
Заходите в консоли в папки «bin» установленных у вас JDK и JRE и оттуда выполняете команды ниже. Некоторые программы любят использовать собственные JRE (устанавливают в свою папку), про них тоже не забываем.
Для тестирования используется флаг "-t". Если всё нормально, то выдаёт пустую строку в консоль. В противном случае — список ошибок.
java -jar c:\tzupdater-1.3.45-2011n\tzupdater.jar -t
Для обновления используется флаг "-u".
java -jar c:\tzupdater-1.3.45-2011n\tzupdater.jar -u
Что-то oracle запаролил все ссылки на скачивание TZupdater
Да и хочет платный саппорт, ищу решение…
Sign up to leave a comment.
Обновление timezone в Java