Включает ли часовой пояс информацию о DST?

#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() может быть тем, что вам нужно