Почему java tzupdater добавляет дополнительные секунды?

Есть упоминания о том, что дополнительные секунды игнорируются Java:

Как может 1-летняя (java) библиотека правильно выполнить форматирование времени UTC, учитывая недавно введенную високосную секунду?

В миллисекундах системы Java учитываются дополнительные секунды?

JDK-4272347: (Cal/ TZ) поддержка високосных секунд

И все же в документе " Версии данных о часовых поясах в программном обеспечении JRE" упоминается:

Новый прыжок второй 2015-06-30 23:59:60 UTC согласно бюллетеню IERS C 49.

Сторонняя библиотека Java Time4J использует свой собственный список високосных секунд.

Почему инструмент tzupdater java добавляет дополнительные секунды, если они игнорируются Java?

1 ответ

Решение

Теперь я внимательно посмотрел заметки о выпуске TZUPDATER и IANA (в их экспериментальном месте github / eggert / tz):

TZUPDATER говорит:

2015-02-01 в 02:00 мексиканский штат Кинтана-Роо, представленный Америкой / Канкуном, переместится с центрального времени на летнее время на восточное время без летнего времени. Чили не будет менять часы в апреле или после этого; его новым стандартным временем будет старое летнее время. Это влияет на Америку / Сантьяго, Тихий океан / Пасху и Антарктиду / Палмер. Новый прыжок второй 2015-06-30 23:59:60 UTC согласно бюллетеню IERS C 49.

IANA говорит:

Выпуск 2015a - 2015-01-29 22:35:20 -0800

 Changes affecting future time stamps 

 The Mexican state of Quintana Roo, represented by America/Cancun, 
 will shift from Central Time with DST to Eastern Time without DST 
 on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.) 

 Chile will not change clocks in April or thereafter; its new standard time 
 will be its old daylight saving time.  This affects America/Santiago, 
 Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.) 


 New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49. 
 (Thanks to Tim Parenti.)

Исходя из этого, наиболее вероятно, что сотрудник Oracle только что сделал копирование и вставку, не задумываясь о контенте, если он действительно имеет отношение к Java-распространению. Единственным изменением было удаление ссылок автора. Конечно, факт остается фактом: в реальных дистрибутивах OpenJDK и Oracle-Java нет ни кода, ни места, которое могло бы загрузить такие данные в секунду.

В своем собственном ответе на этот SO-вопрос я также указал на новейшее соответствующее почтовое заявление, в котором руководители проекта Threeten наконец-то отказались от временно доступной запланированной поддержки на високосные секунды. Так что ваш оптимизм в отношении Java-8 не оправдан.

Кстати, новейшая версия Time4J v2.3 теперь может использовать информацию о високосных секундах, содержащихся в IANA-TZDB, как вы и ожидали от TZUPDATER-tool.

Другие вопросы по тегам