Существует ли какой-либо формат времени, строго основанный на потоке времени, а не на цикле день-ночь? - PullRequest
0 голосов
/ 03 мая 2019

Итак, я только что узнал о високосных секундах, и сначала я подумал: «О, хорошо, просто используйте метку времени Unix», затем я прочитал, что они основывали вещь вне дня на определенном количестве секунд и настраивали високосные секунды, чтобы держать их выровненными с солнцем. Да, черт возьми?!

Так что я думаю, это не хорошо. Есть ли формат времени, который строго на основе количества секунд, прошедших с первого января 1970 года в полночь, или какой-то подобной точки привязки во времени, что не пытается и синхронизировать с изменчивой вращения нашей планеты?

РЕДАКТИРОВАТЬ: мотивация: Наличие времени, которое является точным, независимо от времени суток или часового пояса, и это невозможно иметь неоднозначное время. Честно говоря, я удивлен, узнав, что это не де-факто, похоже, что тот, кто решил добавить в считанные секунды, не считает, что они излишне добавляют нишевые ошибки в программное обеспечение.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Вы спрашиваете о стандартах времени . В этой области важно понимать контекст о том, как предполагается использовать стандарт.

Если принять ваш вопрос напрямую , то стандарт времени, который вы описываете, составляет Международное атомное время (TAI). Это стандарт, который все мировые институты хронометража (NIST, NPL и т. Д.) Используют для координации своих часов. Это очень полезно для этой цели, так как это то, для чего оно было разработано. У него нет високосных секунд.

Однако TAI редко используется непосредственно в вычислительной технике или в бизнесе. Единственный стандарт времени, который имеет значение для большинства из нас, это Всемирное координированное время (UTC). Это то, что отслеживает системное время вашего компьютера, и мы обычно синхронизируемся с этим стандартом, используя NTP . имеет дополнительные секунды.

Протокол PTP можно использовать для синхронизации часов компьютера с либо TAI, либо UTC . Это потому, что TAI является основой, но протокол отдельно переносит текущее смещение между UTC и TAI.

Большинство систем не отображают високосных секунд. Вместо этого они обычно поглощаются во время синхронизации. Другими словами, после того, как произойдет високосная секунда, система может отклоняться от UTC на одну секунду до следующей синхронизации. Тем не менее, это поведение может варьироваться в зависимости от систем и платформ. Некоторые могут выбрать для отображения его напрямую. Некоторые могут «размазать» високосную секунду в течение дня.

Метки времени Unix интересны тем, что они оба имеют и не имеют високосных секунд, в зависимости от того, как вы интерпретируете проблему. У них есть дополнительные секунды, поскольку временная метка выровнена по UTC, поэтому любая интерпретируемая вами временная метка включает все дополнительные секунды, которые произошли на сегодняшний день. Но у них нет високосных секунд, так как они не учитываются при расчете. Вычисление - это точное количество секунд с начала эпохи Unix (1970-01-01T00:00:00Z). Другими словами, временная метка Unix самой високосной секунды (например, 2016-12-31T23:59:60Z) неоднозначна.

В конечном счете, в повседневных вычислениях вам, вероятно, не следует выбирать стандарт, отличный от UTC, или беспокоиться о неоднозначности високосных секунд Unix Timestamp, если только у вас нет особых случаев использования, когда високосные секунды становятся проблемой.

1 голос
/ 03 мая 2019

Ближайшие, насколько мне известно, астрономические часы, такие как


Я чувствую, что должен добавить это.Эти часы редко полезны для большинства повседневных нужд.Причина заключается в том, что человеческая деятельность в значительной степени зависит от цикла восхода-заката (даже цикла летнего времени, который давно живет своей полезностью) и, кроме того, наиболее типичный пользователь думает о «моменте времени» в терминах «год, месяц»., день, час, ... "а не" где это относительно фиксированной точки ".

Так что, может быть, есть лучший ответ, который соответствует вашим потребностям, если вы добавите некоторый контекст к своему вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...