Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Time zone |
Автор: Demetrio 30.10.2011, 20:51 |
Непонятки с time zone. При этом java последняя, патч на ОС установлен, системное время корректно, зона корректна, а Calendar.getInstance() возвращает на час меньше. Вот такой сюрпиз, а завтра понедельник. Что присоветуете? Дмитрий |
Автор: Antropoid 30.10.2011, 21:05 |
А код покажете? Если используется Calendar.HOUR, то там часы с нуля начинаются. |
Автор: Demetrio 30.10.2011, 21:20 | ||
Код самый простой. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar date = Calendar.getInstance(); String cd = sdf.format(date.getTime()) + " - " + date.getTimeZone().getDisplayName(); Добавлено через 8 минут и 56 секунд Вы с Одессы. Вас эта проблема может и не касается. |
Автор: Antropoid 30.10.2011, 21:55 |
Эмсь.... Ну так я вроде как правильно угадал. H - Hour in day (0-23) Или вы это учли? Причем здесь Одесса-неОдесса? Я так понимаю JVM берет системное время. |
Автор: Demetrio 30.10.2011, 22:17 | ||
Вы о чем, разъясните подробнее? Часы всегда начинаются с нуля и чего? Я против ничего не имею, но время-то на 1 час отстает от текущего системного. У нас гарант конституции отменил переход на зимнее-летнее время, а java походу его выполняет. Вот результат 2011-10-30 22:22:07 - Moscow Standard Time Но у нас теперь 23:22:07 |
Автор: Antropoid 30.10.2011, 22:53 |
стер все. Сорри |
Автор: Kangaroo 30.10.2011, 23:56 |
Отмена перехода еще не включена в JRE: http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html Пока нужно использовать специальную утилиту для обновления time zones - TZUpdater |
Автор: Demetrio 31.10.2011, 00:33 |
Спасибо за наводку. Парни из oracle могли бы заранее озаботиться. |