#java #date #time #timezone
#java #Дата #время #Часовой пояс
Вопрос:
Я работаю над приложением, в котором мне нужно поддерживать время из другого местоположения. Я использую классы Date, Timezone в Java. Мой вопрос в том, знает ли класс Timezone подробности о переходе на летнее время? Например, если часовой пояс передается в какой-то часовой пояс, возвращает ли он правильное время с учетом DST?
Редактировать:
Продолжение — Почему функция inDaylightTime() реализована как абстрактная и может использоваться только с SimpleTimeZone, где вы указываете время начала / окончания светового дня?
Ответ №1:
Да, классы date в JVM учитывают часовой пояс.
Информация о DST для часовых поясов регулярно обновляется правительствами, и JVM необходимо соответствующим образом обновлять, если ваше приложение выполняет вычисления в разных часовых поясах. Oracle выпускает обновления для JVMS, когда это меняется. Смотрите Часовые пояса, переход на летнее время и обновление Sun TZ для среды выполнения Java (JRE)
По моему опыту, основные классы Java для решения этой проблемы очень сложны в использовании. Я получаю лучшие результаты от времени Joda. (Joda-Time также учитывает базовую информацию о часовом поясе).
Ответ №2:
Часовой пояс учитывает летнее время.
Хотя не уверен, чего вы пытаетесь достичь. Timezone.getDSTSavings() может быть тем, что вам нужно