Почему в Java поддерживается смещение часовых поясов с точностью до секунд? - PullRequest
48 голосов
/ 23 апреля 2019

В Википедии смещения часового пояса объясняются как разница в часах и минутах от стандартного времени UTC. Однако DateTimeFormatter поддерживает шаблон смещения зоны XXXXX, который «выводит часы, минуты и необязательные секунды с двоеточием, например,« +01: 30: 15 »."

Допустимы ли смещения типа +01:30:15 ISO? Если нет, на основании какого стандарта Java определяет такие смещения?

Ответы [ 2 ]

79 голосов
/ 23 апреля 2019

Это не поддерживается ISO-8601, но является действительным смещением, записанным в базе данных часовых поясов IANA.

Субминутные смещения являются общими в данных за последние19 и начало 20 века, прежде чем часовые пояса были должным образом стандартизированы.Например, Европа / Париж имели смещение от +00: 09: 21 до 1911 года (согласно базе данных IANA).

Последнее обнаружение, которое я могу найти для этого, - Африка / Монровия , у которой до 1972 года было смещение до минуты!

3 голосов
/ 24 апреля 2019

Одной из причин дополнительной точности является то, что национальные часовые пояса, с которыми мы все знакомы, не являются концом истории.

Если вы посмотрите раздел «См. Также» в разделе В статье Википедии о UTC вы увидите набор стандартов времени, которые имеют секундные (и даже доли секунды) смещения от UTC. Особый интерес представляет TAI (Международное атомное время) , на котором основан UTC,На данный момент разница составляет 37 с, поскольку UTC включает в себя дополнительные секунды, а TAI - нет.Таким образом, для поддержки родительского стандарта требуется точность второго уровня.

Время GPS также смещено от UTC на количество секунд (смещение относительно TAI установлено на 19 с).Время GPS и TAI (или другие его производные) важны для навигации, телекоммуникаций / вещания и космической науки.

Когда вы попадаете в астрономию, все становится еще сложнее. Наземное время (Википедия) имеет дробное смещение от более распространенных шкал: TT ≅ TAI + 32,184 с (с точностью до миллисекунды; TT гораздо сложнее, чем это).

Дальнейшее прочтение, поскольку оно еще не было связано с этим вопросом: Программисты лжи верят во время (и часовые пояса, даты и т. Д.) - включает некоторые интересные сведения.

...