Почему в Java поддерживается смещение часовых поясов с точностью до секунд? - программирование
Подтвердить что ты не робот

Почему в Java поддерживается смещение часовых поясов с точностью до секунд?

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

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