Комментарии 134
Время — очень странная штука.
— Время — это лишь субъективное восприятие реальности. Ведь часы, по сути, измеряют сами себя. Показания часов можно объективно сравнивать только с другими часами…
— Молодой человек, я вам ещё раз повторяю: «Водку после 22:00 мы не продаём!».
PS. Навеяло… :-)
Нет, люди не придумали. Люди выбрали способ измерения.
Скажите что это не абсолютно объективно? Так мы и расстояние абсолютно объективно измерить не способны.
Будете?
Если вы считаете, что расстояния тоже «выдуманы» — обсуждать нечего. Если с расстоянием всё ок, то жду от вас описания разницы между расстоянием и временем с точки зрения подсчета.
Ровно также как расстояние. Я ответил на четыре сообщения выше от этого.
Вас ответ не устраивает? Чем?
Представляет собой интервал времени, равный 9 192 631 770 периодам излучения, соответствующего переходу между двумя сверхтонкими уровнями основного состояния атома цезия-133, находящегося в покое при 0 К.
Насколько я помню, достичь 0к, на данный момент немного проблематично (да, можно экстраполировать итд). Так что время — достаточно такая себе величина ;)
Другой вопрос, что эталонное определение метра, на данный момент, таки тоже зависит от времени. Так что уровень субьективности \ обьективности у них достаточно одинаков.
Одного не могу понять, зачем корректировать время суток, обманывая самих себя в первую очередь?
Этот же вопрос касается високосного года.
Мы подстраиваем календари и течение времени вместо точной синхронизации с процессами из природы/космоса…
Вероятно, это не единственные странности времени Unix — только то, что я вчера вспомнил.
Это скорее не странности времени Unix, а странности UTC. Согласен с Zalechi — корректировать время суток особого смысла нет, вращение земли изменяется слишком медленно. Даже если каждый год (не) добавлять по секунде (а необходимость в этом возникает далеко не каждый год — кто знает, а вдруг придется и убрать лишнюю секунду), то через 300 лет (по астрономическим меркам совсем мало, а по "человеческим" (и компьютерным) — совсем нет) время отклонится от "истинного" всего на 5 минут. Подавляющее большинство людей не заметит, что солнце стало восходить на минуту позже, чем оно восходило 60 лет назад. Ну и наконец, если накопится слишком большая разница, можно и в другой часовой пояс перейти. Но произойдет это очень и очень нескоро...
Понимайте, люди зациклились на круглых часах с оборотом в 360 градусов, и пока не желеают отпускать календарное время в свободное плавание. Вот им нужно зачем-то(тут как раз я и задаюсь вопросом — зачем?) впихивать суточные и годовые ритмы в это круглое табло поделённое на 24 часа и сколько там дней…
Видать так проще, всем…
Там счет на миллисекунды идет, и им ооочень интересно знать который же на данный момент час, с точностью до вышеозначенных миллисекунд.
Неужели я не нормально оформил вопрос?
Если вы хотите, чтобы календарное время соответствовало астрономическому — то надо придумать удобный способ это время измерять.
Многие люди не могут читать время на круглых циферблатах и путают 12AM и 12PM, поэтому не стоит усложнять
путают 12AM и 12PMКонечно путают. Было 12am прибавили час и получили 1am. Т.е. для am линейка значений имеет вид: 12, 1, 2,… 11. И 12 получается меньше 1. Бредово. Если перевести, то ещё хуже становится: 12:15am — 12 часов и 15 минут до полудня. Т.е. ещё больше 12 часов ждать до полудня. С 12:15pm почти то же самое: 12 часов и 15 минут после полудня?? да оно было 15 минут назад! Но уже с 1:15pm всё хорошо: 1 час 15 минут после полудня — согласен, так оно и было.
Мне больше нравится 0am/pm.
что бы время как можно точнее соответствовало астрономическому.
Точнее солнечному времени. Есть еще и звездное время в котором сутки отличаются от солнечного.
Високосный год — об этом изменение календаря. И вот к чему оно?
Рекомендую к прочтению:
ru.wikipedia.org/wiki/Високосный_год
Потому, что секунда не имеет никакого отношения к взаимному перемещению Солнца и Земли. Соответственно вы не можете определить секунду через это перемещение.
А вообще вот вам, про сложности в расчете времени: https://ru.wikipedia.org/wiki/Всемирное_время
Для особо упёртых и одарённых не поленюсь линк выставить. Простит за эмоции, но Вы просто посмотрите сколько пустой и тривиальной чуши накопилось — линк habr.com/ru/post/452584/#comment_20175064
Там посадку c/х культур к концу столетия уже нужно пересчитывать (25 дней разницы как-никак). Все научные расчеты проводить с дельтой времени… Нет, так жить тоже можно. Просто нужен новый математический аппарат для подчета без високосных.
Зачем в США используют имперскую систему измерения с нелогичными соотношениями, тогда как почти весь мир использует куда более логичную метрическую?
Потому что в сутках 24,0000006 часа, а в году — 365,2421891 дня, вот почему.
Чем сто раз говорить, лучше один раз увидеть;)
Чтобы рабочий день продолжал начинаться ровно в девять, а читая книгу пятисотлетней давности ты понимал, что «в 13:00» это примерно полдень, а не вечер и не утро. Условно, конечно. но суть такова.
Да вот я выше уже писал — не изменится оно на столько за 500 лет. За 5000 — может быть, и то не факт. Да и часто ли мы даже сейчас читаем 500-летние книги (особенно с описанием точного времени в них)? Кроме того, и рабочий день 500 лет назад далеко не в 9 начинался.
Происходит это потому что периоды обращения Земли вокруг Солнца и вокруг своей оси не кратны друг другу. Поэтому приходится раз в 4 года компенсировать 1 день. А раз в 100 лет, если правильно помню, год который должен был быть високосным — будет обычным. Потому что прибавка 1 дня каждые 4 года это чуточку многовато и надо компенсировать обратно.
А раз в 100 лет, если правильно помню, год который должен был быть високосным — будет обычным. Потому что прибавка 1 дня каждые 4 года это чуточку многовато и надо компенсировать обратно.Но это ещё не всё: раз в 400 лет снова прибавляем день, потому что предыдущая коррекция на ещё меньшую чуточку не совсем точна. ¯\_(ツ)_/¯ (Ещё дальше пока не пошли, но проекты были.)
не изменится оно на столько за 500 лет
Если отменить високосный год, то всего за 120 лет все времена года съедут на целый месяц. А через 500 лет новый год станут отмечать с шашлыками на природе, отмахиваясь от комаров.
Так через год — это не через определенное фиксированное время, а в тот же день в том же месяце по используемому календарю.
Конечно, в связи с наличием високосных лет могут возникать накладки (день рождения 29 февраля, например), но родившихся в "неправильные" дни намного меньше, чем остальных, а остальным пофиг.
Могу предложить решение. Создайте свой календарь или найдите древний без вставок (кстати, у Майя с их аж тремя разными продолжительностями годов, используемых одновременно, дни вставлялись?) и празднуйте день рождения по нему. Будет необычно и креативненько.
Если бы коррекций не было, то день рождения справлялся бы через 365 дней, что примерно на четверть суток меньше времени оборота Земли вокруг Солнца.
я бы хотел день своего рождения справлять ровно через год,
У вас 29 февраля день рождения? Если нет, то не понимаю, как у вас может получаться справлять день рождения не ровно через год. И главное — зачем.
А в чем проблема?
В том, что это дико неудобно. Например, придется постоянно корректировать графики огромной кучи различных сезонных мероприятий. Это и даты запуска/отключения централизованного отопления. И графики проведения ремонтных/профилактических работ в системах водоснабжения. Графики ремонта дорог. Графики проведения абсолютно всех аграрных работ. И еще куча всего. Что заденет всех людей без исключения, а не только 0,07% тех, кто родился 29 февраля и других бедолаг, которые хотели бы что-то справлять ровно, а не криво.
Это и даты запуска/отключения централизованного отопления.
По крайней мере в некоторых населенных пунктах нет фиксированного графика этих мероприятий, а все завязывается на среднюю температуру.
Что-то вроде такого: в течение десяти дней подряд среднедневная температура превышает 10 градусов — выключаем, ниже 8 градусов — включаем.
Остальное да, критично по сезонам и не должно существенно (больше нескольких дней) меняться по крайней мере за столетие.
А в чём проблема? Если хотите ровно — празднуйте себе миллионы секунд со дня рождения, а не года :)
Через год — это через через оборот Земли вокруг Солнца? Так вы будете встречать утро, день, вечер и ночь рождения по очереди.
я бы хотел день своего рождения справлять ровно через год, а не — как оно там получается… со всеми этими искажениями.
И всегда в один и тот же день недели? В понедельник, например :)
Кому это всё принесёт неудобства — Школьники (потому что «летние» каникулы будут динамические, с 15го декабря до 18 марта, например) и Агро-сектор, потому что будет сложнее понять, когда что сеять.
Но с другой стороны, есть же расписание рассветов и закатов на много лет вперёд. Вот так же будет расписание начала весны, осени и тд.
Всем понятно что в ближайшее время никто ничего менять не будет и мы никогда не узнаем, как это будет, но было бы интересно хотя бы посмотреть про это всё фильм)))
А вообще у нас глобальное потепление, все дела, через 100-150 лет будет вечное лето (или зима, как пойдёт), мб и календарь подправят)
habr.com/ru/post/452584/#comment_20176648
habr.com/ru/post/452584/#comment_20176072
А большинство комментов, что выше — ну Вы меня простите, но детский сад. И карму загадили, и будут утверждать, что так и должно быть. Да плевал я на них. А вот эти два коммента, как раз то, что я искал
Южному полушарию, вроде бы, это ни капельки не мешает…
Да. Потому что мешает не тот факт, что новый год летом, а тот факт, что он будет постепенно "плыть" от зимы к лету.
Но с другой стороны, есть же расписание рассветов и закатов на много лет вперёд. Вот так же будет расписание начала весны, осени и тд.
С этим есть одно большое различие и 2 проблемы.
Различие (которое является причиной первой проблемы). Время рассвета и заката меняется по синусоиде. Оно остается в неких рамках. А с отменой високосных годов — времена года будут постоянно ползти в одну сторону. Никаких рамок не будет.
И проблемы:
1) Кто пользуется расписанием закатов и рассветов? Какому проценту населения вообще интересна информация о точном времени рассвета или заката? Единицам. Остальным более чем достаточно общих рамок, о которых я писал выше. А вот постоянная смена графика времен года в той или иной мере заденет всех людей без исключения.
2) Насколько удобно лично вам было бы каждый вечер сверяться с расписанием рассветов прежде, чем завести будильник на утро? Зачем делать так же неудобно и с временами года?
Кому нужен будет «календарь весны» — Людям, которые занимаются сельским хозяйством, чтобы знать, когда что высаживать. И то, я не уверен что они подвязаны сейчас на обычный календарь, ведь бывает что в апреле снег и так далее…
Почему он не нужен будет мне (ну и кому-то ещё):
1. Мне всё равно, какая будет погода на новый год. Если я смогу на Новый Год закусывать шампанское свежим шашлычком — даже рад буду)
2. На море я езжу не в сезон, и не езжу, а летаю, потому что слишком бедный чтобы ездить на локальное море в сезон)
3. Каникулы. Школьникам, я думаю, всё равно, какая дата будет на календаре, когда начнутся каникулы. Скажут им что они с 9го марта — ну ок.
4. День рождения — я был бы рад встретить хоть раз с температурой на улице меньше +40…
Я вот только недавно осознал что уже май, когда оставил машину на солнце на целый день… А до этого у меня был примерно март. Вот, наверное, в этом полезна привязка месяцев к временам года, чтоб такие потерянные как я поменьше терялись во времени)
Да. Потому что мешает не тот факт, что новый год летом, а тот факт, что он будет постепенно «плыть» от зимы к лету.Только потому что вы, привыкли к этому постоянству. А так это не мешает
А вот если привыкнут к другим условиям (например, сажать картошку после схода снегов и когда температура воздуха будет достаточно тёплой в течении некоторого времени), то будут условия такого типа считать вполне привычными.
В мусульманском календаре вон начало месяца определяется даже не по новолунию, а в день, когда после новолуния месяц на небе стал видимым! А это 1-3 дня от новолуния и засвидетельствовать это должны 2 сильно авторитетных мусульманина!
Зачем добавлять ещё секунды? Можно подождите, пока время не уйдёт на час и смените часовой пояс. И от 29 февраля никто не предлагал отказываться.
Зачем добавлять ещё секунды?
Они тоже "уже были". Их никто не предлагает добавлять снова. Они уже добавлены.
И от 29 февраля никто не предлагал отказываться.
В начале ветки речь шла в том числе и об этом:
https://habr.com/ru/post/452584/#comment_20174850
Одного не могу понять, зачем корректировать время суток, обманывая самих себя в первую очередь?
Этот же вопрос касается високосного года.
Одного не могу понять, зачем корректировать время суток, обманывая самих себя в первую очередь?
Традиция, однако.
Человеку хочется, чтобы весеннее равноденствие наступало в конце марта, чтобы полдень был всегда примерно в одно время суток, чтобы в январе всегда была зима (или лето, если в южном полушарии), чтобы пасха наступала примерно в одном сезоне и не убежала на лето и т.п.
Туда же семидневная неделя, из-за которой год не содержит целого числа недель, пляшущие длины месяцев, из-за которых первое полугодие короче второго, праздники, неравномерно распределенные по году, и прочие "радости" планирования и отчетности.
Кое-кто, кстати, дни к году раз в четыре года (на самом деле не каждые четыре года, но это уже тонкости и не у всех), кстати, не прибавляет, и год с вращением Земли вокруг Солнца не синхронизирует. Но им все равно приходится добавлять к году дни для синхронизации с Луной. А другие не мелочатся, и добавляют к году для синхронизации не дни, а целые месяцы.
Мы подстраиваем календари и течение времени вместо точной синхронизации с процессами из природы/космоса…
Подстройка календарей как раз и обеспечивает их точную (насколько возможно без полной потери удобства пользования) синхронизацию "с процессами из природы/космоса": вращение Земли вокруг Солнца (год), вращение Солнца вокруг Земли (в системе отсчета, зафиксированной относительно Земли, день), вращение Луны вокруг Земли (месяц в некоторых календарях, вполне действующих кое-где на нашей планете).
А было время, когда Юникс развивался в Советском Союзе.
UNIX развивалась bell labs. Вот клоны развивались где угодно, но не UNIX.
И эти байки про «развивался», тоже выглядят забавно.
Какие UNIX-like системы появились:
1)*BSD — FreeBSD, OpenBSD, NetBSD, частично OS X —все из них широко известны между прочим, и хотя сейчас несколько потеряли популярность, они много чего дали этому миру.
2)Solaris
3)AIX
4)HP/UX
5)QNX
6)Linux
Все выше описанные нашли место и в истории и в настоящем. А вот польза человечеству от «развития unix в СССР» науке не известна.
По вершкам судите. Примеров не назову, но нельзя исключать что какой то код перетек в популярные юникс клоны от советских программистов.
Хочется отметить, что запись повторения 00:00:00 не совсем корректна, правильнее первую назвать 23:59:60.
Все написанное в статье не имеет прямого отношения к поведению времени UNIX.
Более того, на изолированном компьютере это время ведет себя именно так, как написано в начале статьи, хотя с оговорками:
Время Unix — это количество секунд с 1 января 1970 года 00:00:00 UTC (в соответствии с текущим состоянием внутренних часов компьютера, а не реальное количество секунд от реального исторического момента).
Если подождать ровно одну секунду, то время Unix изменится ровно на одну секунду (по собственным часам компьютера, естественно, а не в соответствии с показанием эталона).
Время Unix никогда не двигается назад (само не двигается).
А все описанное — это про коррекцию времени. И касается оно любой коррекции времени, будь то корректировка убежавших часов в системе по протоколу NTP или перевод времени "руками" в соответствующих настройках ОС. При этом время в системе вполне может сдвинуться в любую сторону на любое значение.
А все описанное — это про коррекцию времени. И касается оно любой коррекции времени, будь то корректировка убежавших часов в системе по протоколу NTP или перевод времени «руками» в соответствующих настройках ОС.Нет, високосная секунда не относится к коррекции времени «через NTP или руками». В Linux ее вносит ядро когда это необходимо.
При этом время в системе вполне может сдвинуться в любую сторону на любое значение.А тут смотря какой источник времени используется. В современных ОС их много, в том числе есть монотонные — которые никогда не могут уйти назад. Примеры можно глянуть в петоне: docs.python.org/3/library/time.html#time-clock-id-constants
Нет, високосная секунда не относится к коррекции времени «через NTP или руками». В Linux ее вносит ядро когда это необходимо
А это как и зачем?
Часы в компьютере, мягко говоря, не атомные, и редкая вставка високосной секунды по соображениям "изнутри" точности часам компьютера не добавит
Кроме того, в статье написано: "С 1972 года служба IERS (которая управляет этим делом) добавила 27 дополнительных секунд", откуда следует, что решение о вставке (или удалении) секунд принимается не ядром, а организацией IERS.
А это как и зачем?
Что значит зачем? Чтобы время было синхронизировано. *NIX-системы часто работают с аптаймами в годы и многий софт очень сильно зависит от времени и его точности, разница в секунду это очень много для них.
Кроме того, в статье написано: «С 1972 года служба IERS (которая управляет этим делом) добавила 27 дополнительных секунд», откуда следует, что решение о вставке (или удалении) секунд принимается не ядром, а организацией IERS.Понятное дело что ядро не по своему желанию это делает. Какой-либо внешний софт, чаще тот же NTP демон (у которого есть справочник ближайших внесений високосной секунды) использует вызов adjtimex с флагом STA_INS для информирования ядра о том что тогда-то надо бы вставить високосную секунду в системное время.
Что значит зачем? Чтобы время было синхронизировано. *NIX-системы часто работают с аптаймами в годы и многий софт очень сильно зависит от времени и его точности, разница в секунду это очень много для них.
В таких случаях обычно просто синхронизируют время с внешним источником (NTP, GPS, другой способ), т.е. проводят ту самую коррекцию.
Понятное дело что ядро не по своему желанию это делает. Какой-либо внешний софт, чаще тот же NTP демон (у которого есть справочник ближайших внесений високосной секунды) использует вызов adjtimex с флагом STA_INS для информирования ядра о том что тогда-то надо бы вставить високосную секунду в системное время.
Коррекция же, по данным из внешнего источника, только отложенная.
В таких случаях обычно просто синхронизируют время с внешним источником (NTP, GPS, другой способ), т.е. проводят ту самую коррекцию.
NTP в штатном режиме работы не производит коррекцию времени. Совсем. Он подстраивает частоту генератора тактов чтобы время шло с правильной скоростью. Коррекция производится обычно только один раз при старте и дальше идет только подстройка частоты.
А вставка секунды — это интрузивная операция, причем вставляется 60 секунда которой быть не может. Причем нужно учесть все тысячи таймеров, которые крутятся в ядре чтобы они от этого не пострадали. Был баг даже пару лет назад в этой части когда какая-то бяка произошла после вставки високосной секунды.
Поэтому это делается ядром.
Коррекция же, по данным из внешнего источника, только отложенная.Это уже игра слов. С тем же успехом мы могли бы запихнуть в ядро расписание всех коррекций на тысячу лет вперед. Только проще делать это из userspace. По факту NTP просто информирует ядро что по окончанию данного UTC-дня нужно внести 60 секунду и все. Сам он ничего не корректирует.
С тем же успехом мы могли бы запихнуть в ядро расписание всех коррекций на тысячу лет вперед
Нет никакого расписания коррекций ны тысячу лет вперед. Решение принимается дважды в год по результатам астрономических наблюдений Международной Службой Вращения Земли.
Выпаскается т.н. IERS Bulletin C (например, такой) в котором объявляется будет или не будет вставка високосной секунды в следующее возможное окно (31 июня, 31 января)
Нет никакого расписания коррекций ны тысячу лет вперед. Решение принимается дважды в год по результатам астрономических наблюдений Международной Службой Вращения Земли.
Я образно говорил. К тому что нет никакой разницы откуда идет эта информация — внешнего источника или вбитого в ядро расписания.
И «принятие решения» это по сути фикция, замедление вращения планеты идет с постоянной скоростью — можно было вполне составить расписание и производить коррекцию на периодической основе.
Там скорее разные геополитические факторы учитываются еще или что-то в таком духе, лень изучать.
уточню, в 12-ом году:
bugs.mysql.com/bug.php?id=65778
habr.com/ru/post/146863
Странная статья, автор (наверное, всё-таки) хотел внести ясность, а получилось "как всегда" — примерно FUD.
В актуальных Unix-ах время считается в секундах прошедших с точки отсчета "Epoch", за которую принято время 1970-01-01 00:00:00 +0000 по UTC. Это то время, с которым встречается большинство программистов — возвращаемое функцией time(). Никакие високосные секунды не должны на него действовать — ибо (в идеале) это количество "атомных" секунд прошедших с точки отчета (Epoch).
Високосные секунды и таймзоны, связанные с ними "странности", будут иметь место когда мы захотим преобразовать "машинное" Unix-время в "человеческое" (aka broken-down time, см man localtime
) в некой таймзоне. Тут всё достаточно просто и прозрачно, если разобраться (как-то пришлось). Тем не менее, важно не забывать что таймзоны не константны, а время неизбежно корректируется.
При этом стоит отметить, что получаемое программистом Unix-время время на конкретной машине может быть очень неточным. Потом ято:
- Просто неверно задано (в CMOS/BIOS) и несинхронизировано (NTP), в том числе быть в процессе коррекции. Тут лучше начать с
man clock_gettime
.; - В CMOS/BIOS таймер может идти в календарном "человеческом" формате, и при запуске ОС его невозможно однозначно оттранслировать в Unix-время из-за тонкостей в назначении високосных секунд и параметров таймзон (теоретически спецификация ACPI навела порядок).
- На одной машине соседствуют разные ОС и каждая из них имеет свое понимание о том, как устанавливать CMOS/BIOS время при более-менее точной синхронизации NTP. Например, без правок в реестре Windows пытает установить CMOS/BIOS время в локальной таймзоне, что вызывает массу "фифектов фикции".
Поэтому, у большинства актуальных macOS/Linux/AIX/Solaris/BSD/… не количество атомных секунд с эпохи, а количество «UTC секунд» с эпохи (без дополнительных секунд).
https://sourceware.org/git/?p=glibc.git;a=blob;f=timezone/leapseconds;hb=HEAD
С другой стороны, соглашусь что ради совместимости со старыми Unix-ами можно скомпилировать определение таймзон без високосных секунд. В результате, вместо "60" в секундах видеть NTP-дрейф, leap-вставку ядом (два раза "59") и т.д.
$ TZ=Europe/Moscow date
$ TZ=right/Europe/Moscow date
$ TZ=posix/Europe/Moscow date
$ ls -l /var/db/ntpd.leap-seconds.list # или где в ней ntp_db_leapfile должен иметь место быть
P.S. Только немного наоборот, для поддержки дополнительных секунд (по МСЭ/ГОСТ это основное название) можно скомпилировать зоны и таким образом. Но, насколько мне известно, по-умолчанию, почти все системы придерживаются POSIX интерпретации (вполне себе современный POSIX их не признаёт), т.е. без поддержки дополнительных секунд.
То же на практике касается и Windows (и т.наз. NT time в ней), хотя стандарта на это нет.
Конечно, безумец может установить себе таймзону типа right/UTC, но при этом у него сломается всё, что можно.
Кому нужно реально учитывать вставные секунды — увы, ему придётся применять особые технологии счёта времени.
Ну а тем, кому нужно равномерное время, юлианские дни представленные числами с плавающей точкой, тем POSIX время и difftime() как бы совсем, совсем, неудобны.
Или даже в чём-то совсем другом, типа веба, но на одной машине сдвиг не применён, и логи уехали нафиг, сравнивать теперь времена вручную и выравнивать историю вручную.
Так что не могу принять ваш аргумент.
Юлианские дни — хорошо для истории, но к теме «а почему тут у меня сервис стал отвечать на 100 мс дольше» имеет отношение примерно такое же, как статуя гуся на Марсе.
Есть тонкости с двоичным представлением, например, если одна машина иначе настроена, то сетевые файлы могут оказаться в будущем. Но в деле логов, даже если они двоичные, при прямых руках проблем быть не должно.
Ну а юлианские дни как раз и предназначены для ответов на вопрос: период двойной системы 10 лет и 1 мкс или 10 лет и 234 мс ;)
Давайте, к примеру, уничтожим все часы и календари на планете и оставим только одни эталонные. Спрячем их. Как быстро и с какой точностью по сравнению с эталонными часами можно будет узнать «текущее время» по любым доступным астрономическим наблюдениям и экспериментам? Как вы думаете?
В постановке эксперимента не ясно, желаете ли Вы «спрятать», и эпоху, и часы, тогда ответ однозначный, отрицательный. Либо же, Вы желаете спрятать только часы, а эпоху оставить, тогда не ясно в какой форме Вы желаете оставить эту эпоху.
P.S.
Смысл эксперимента, конечно, сомнительный. К примеру, эпоха входит в кучу таблиц (полиномов) по движению Луны, планет, спутников, вращению Земли, и т.п., а так же данных по переменным звёздам, пульсарам, квазарам и т.п. Вы их тоже прячете или нет? Если нет, то ответ тоже однозначный, но положительный — очень быстро и очень точно.
Если и будет повторятся, то примерное время можно будет посмотреть по взаимному расположению тел солнечной системы, а точное опять-же по пульсарам.
Если стартовать в 23:59:60.50 и подождать полсекунды, время Unix возвращается на полсекунды, а метка времени Unix 101 соответствует двум секундам UTC.
Какие еще полсекунды, если время Unix это целочисленное число?
$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import time >>> print(time.time(), time.time()) 1559375816.5301785 1559375816.5301788
между вызовами, как видим, прошло около 300 наносекунд, и это видно в представлении (в double).
В Posix давно clock_gettime() обещает в пределе наносекундную точность, а в последних версиях есть вызовы для времён файлов такой же точности.
Мы можем измерить секунду по электромагнитным свойствам атома, и это самое точное измерение времени, известное науке.
Вроде ж пробегала статья про пульсары (ага, быстро вращающиеся нейтронные звёзды, за много световых лет от нас), точность которых превышает точность атомных часов, т.к. атомные часы могут дрейфовать в долгосроке.
Если брать популярное изложение, то вот тут пишут:
“The accuracy and stability of terrestrial clocks have improved more than an order of magnitude, on average, in each decade over the last 60 years,” say Hartnett and Luiten. Today, the best optical lattice neutral atom clocks and trapped ion clocks have a frequency stability approaching one part in 10^17.(с) www.technologyreview.com/s/418326/where-is-the-best-clock-in-the-universe
By contrast, as more pulsars have been discovered, their timing stability has improved by less than an order of magnitude in the last 20 years. The best millisecond pulsars have a stability of only one part in 10^15 at best.
Ну и вообще по логике атомные эффекты должны быть более стабильны чем нейтронная звезда, которая теряет энергию постоянно и замедляется.
Уборщица выдернула, аккумулятор разрядился, и астрономы поехали обратно за новым стандартом времени.
Атомные эффекты может и стабильнее, а вот часы-совсем не факт на длительных промежутках времени. А скорость замедление пульсаров и прогнозировать можно.
Ну и использовать пульсары на практике, наверное, не очень удобно, даже если бы они были гораздо точнее.
По поводу удобства смотря для чего. Астрономы очень радовались, когда открыли 2 пульсара в одной системе. Получается есть двое точных часов в одной системе и можно проверять ОТО.
Пульсары удобны тем, что за обозримый период с ними ничего не случится. Не будет уборщицы, которая выдернет розетку.
От атомных часов нужно ещё получить сигнал с постоянной задержкой(если время вам нужно не рядом с часами). С пульсарами мне кажется всё несколько проще.
Заблуждения программистов о Unix-времени