Как стать автором
Обновить

Сможет ли високосная минута решить проблему синхронизации часов?

Время на прочтение6 мин
Количество просмотров9K
Всего голосов 30: ↑29 и ↓1+41
Комментарии37

Комментарии 37

Надо просто на секунду останавливать все компьютеры в мире, потом продолжать, как ни в чём не бывало.

Хорошая идея, надежная как швейцарские часы)

ха! помню было время паники в 1999, компьютер переведет дату на 2000 или же все рухнет, а тут оказывается такое из-за секунды

Так оно не рухнуло потому что все напряглись и исправили проблему до наступления 2000 года.

В большинстве случаев эта проблема была сильно раздута. Это коснулось очень небольшого количества софта с хранением даты в виде 2-х цифр и кривой реализацией работы с датой. Я в это время на производстве работал. В ночь перехода у нас было организовано аварийное дежурство. И ... провели ночь в полудреме и поехали утром домой. Вообще ничего ... Правда АСКУЭ-шники утром забегали. Как оказалось у них база данных встала. У них была самописная система сбора данных со счетчиков.

Это коснулось очень небольшого количества софта с хранением даты в виде 2-х цифр и кривой реализацией работы с датой.

Но какого софта... Конечно да, у нас проблем особых не было. Но вот в Европах и США есть куча кода написанного на COBOL. Этот код отвечает за довольно важные штуки - банкинг, бронирование билетов, расчеты зарплат, выставление счетов и так далее. А вот Кобол как раз хранит год в виде 2х цифр и создавался в те времена, когда про 2000 год даже не думали. Соответственно, если бы это все не исправили, то оно бы встало. Это конечно не привело бы к техногенным катастрофам, но вставшие банки и самолеты - это тоже очень нефиговый кризис.

Правда АСКУЭ-шники утром забегали. Как оказалось у них база данных встала. У них была самописная система сбора данных со счетчиков.

А прикиньте сколько такой самописной фигни было по всему миру? И если б это не чинили заранее, то оно все встало бы разом.

Это коснулось очень небольшого количества софта с хранением даты в виде 2-х цифр

Вроде как раз так и было реализовано в Коболе, и почти вся "старая" мировая банковская система работала на нем.

Не все.

Встречал немного софта, который генерировал 1900-й год. Встречал, который генерировал 19100-й - вот тут эффекты были поинтереснее. Например, в Usenet не ходили сообщения - сервер отказывался принимать правильные с 2000-м годом как слишком старые.

Через полтора года ещё взорвался переход через миллиард секунд Unixtime, тоже были последствия.

Были некоторые бытовые ПК и промышленные устройства, у которых стояла микросхема часов, отсчитывающая только две цифры года.

М3002
М3002

Применение:

Тогда уж и високосный год отменять надо.

Эй, какой май? У нас в феврале ещë большая недостача дней! Вот добавим, будет 30 хоть раз в 4 года. Ну а там ещë немного, и наберëм чтоб каждый год было по 30.

Я голосую за Февраль! Надо просто все вернуть взад Августус обратно переименовать в Секстилис, и вернуть февралю 1 отобранный императором день.

Вот кому-то повезет родиться в этот день.

И потомкам жизнь разнообразить, кто сказал что смена дней должна быть ночью, может и в полдень!

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

Ну да, так можно договориться до того что вообще выбросить календарь и использовать Unix Time везде.

Unix Time уже опозорено этой дополнительной секундой, она в нем тикает дважды. Нужно True Unix Time, чтобы действительно считало прошедшие секунды. Правда, из-за того что неизвестно когда будут лишние, нельзя будет переводить будущее гражданское время в Unix Time и наоборот.

Давно реализовано (например в Olson TZ base так называемые right-зоны).

Только никому за пределами условных АЭС нахрен не нужно.

Решение элементарное и очевидное. Круглое катить, квадратное тащить, а не наоборот.

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

А UTC сделать часовым поясом, к которому прибавлять и убавлять сколько и когда надо (как и к остальным часовым поясам). При чем названия часовым поясам сохранить. Т.е. называется он "UTC+1", хотя по факту может быть, например, "UTC+1:00:02".

А уж модификация часовых поясов давно поставлена на поток.

Со временем показания разойдутся, но это не будет проблемой, т.к. для человекочитаемого времени используются часовые пояса. Да и будет это не очень скоро.

Отличная идея, хотя всех проблем (непредскащуемость формулы пересчета наперед) не решает.

Можно подумать, что сейчас политики, принимающие и отменяющие решения о переходе на летнее время, предсказуемы. Всё это учитывается обновлением таймзон.

А она есть эта проблема? Зачем нужна точная привязка системы остсчета времени к положению земли относительно солнца?

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

Человекочитаемое время нужно чтобы деятельность человека осуществляемая по определенному расписанию попадала преимущественного на светлое время суткок и в целом чтобы можно было единообразно ориентироваться между светлым и тёмным временем суток. И всё. Не вижу тут вообще применения секундной точности. При этом часовые пояса являются компромисом между точностью и сложностью, по этому остановились на варианте +/- 30 минут (с шагом в час) плюс пара исключений. А с точностью +/- 30 минут вращение земли можно спрогнозировать как минимум до конца существования жизни на земле.

А то с таким же успехом можно было на зиму менять определение метра. Т.к. при низкой температуре большинство предметов сокращается, то давайте от метра пару десятых долей миллиметра откинем? а в точных рассчетах будем помечать, что это "зимний метр".

Все проблемы в деталях. Земля вращается неравномерно, присутствуют как сезонные вариации, так и вековое замедление вращения Земли. Также ось вращения движется в теле Земли, так как присутствует движение полюса. Также эта точная привязка нужна для расчета орбит спутников, функционирования GPS/GLONASS.

Все зависит от того зачем вам пересчитывать вещи "похожие на возраст". Если вы например ведете наблюдение за любым физическим процессом, будь то хоть движение планет, или спутников вокруг планет, или комет, вам надо записывать и решать дифференциальные уравнения и так или иначе вычислять временные интервалы (у вас ведь есть ряд наблюдений привязанных к моментам времени). Вам нужно время по максимально точным часам, время привязанное к положению солнца на небе вам не особо удобно. И вычислять временные интервалы удобнее в шкале с полским временем а не в формате ЧЧ:ММ:СС. А если у вас в минуте 60 секунд но есть очень редкие особые минуты в которых 61 секунда, или 59, то вычисление интервалов времени если вы храните время в "бытовом формате" только дополнительно усложняется.
А если говорить о вычислении возраста, то сами подумайте:

  1. Вы знаете время рождения с точностью до одной секунды?

  2. Имеет ли смысл регистрировать момент такого протяженного во времени и недетерменированного процесса как рождение ребенка с точностью до секунды.

  3. Как поступать с дробным соотношением длинны солнченых суток и тропического года? Ведь фактически у вас между днями рождения иногда 365 дней а иногда 366. Даже если вы дотошный, и знаете момент рождения с точностью хотябы до минуты, вопрос вычисления возраст получается несколько нетривиальным. По факту ровно N лет вам исполнится не в "время на часах как было в момент, когда вы родились" в дату рождения, через N лет после года рождения, а в момент который можно описать формулой Бытовое_время(Плоское_время(момент_вашего_рождения)+N*средняя_продолжительность_тропического_года)). Каждый год дата и время будут немного плавать, как например и время солнцестояния плавает. А если глубже копнуть и задаться вопросом что такое год, я же не зря написал "средняя продолжительность тропического года".

Вы конечно правы в общем не обязательно знать свой возраст с точность до секунд или даже дней. Но вот про спутники можно отметить что их навигация привязана к движению планет.

Високосная секунда - отличный пример как можно простое сделать сложным в угоду желанию определенного круга лиц что-то там определять, и создать кучу проблем на ровном месте. У людей появились более точные, часы чем вращение земли, ясно что для отсчета времени в любых наблюдениях разумнее использовать их. "Перевод" часов на одну секунду раз в несколько лет когда неравномерность вращения земли приводит к расхождению астрономического местного времени от атомного не решает каких либо практических проблем, зато создает сложности в переводе "бытового" времени ЧЧ:ММ:СС ДД:ММ:ГГГГ в технический формат вида (N секунд) от начала отсчета. А такое перевод производится в любом компьютере в котором есть часы постоянно. Более того решения некого совета о том добавлять ли високосную секунду когда-то делают невозможным программирование алгоритма перевода наперед. Эта пробелма существует всегда, помимо проблем с синхронизацией. В бытовом плане уход времени местного полудня даже на одну минуту от текущего (который в реале займет столетия) не решает вообще ничего. В плане каких либо наблюдения это тоже ничего не решает потому что для наблюдений нужно пользоваться форматом времени в кторотм легко вычислять интервалы. И вмсето того чтобы сделать как проще, а проблему рассинхронизации с астрономическим временем, которая станет заметна через 1000 лет отложить на подумать, некоторые организации занятые стандартизацией выдумывают бессмысленные усложнения.

Ну этим людям же надо показать свою значимость. Хоть так, чтоб внимание обратили.

А вообще раз в тыщу лет прибавить минуту, да хоть час - совсем не проблема. За это время может поменяться всё, может и компов-то в современном понимании не будет, и ещё сто раз поменяют форматы времени и как его считать.

То есть отложить проблему на потом, пусть потомки там что-то решат? )))

Это дискуссия из серии метрических (10-тичных) и имперских (12-ричных) мер и весов.

Я считаю, в итоге через победит какая-нибудь новая универсальная система измерения времени, не привязанная к дням, неделям, месяцам, годам (особенно с учетом смещения дат праздников и конкретных климатических условий к которым они были привязаны тысячелетия назад). А для дат до ~2100 года будет формула пересчета, как сейчас дичайшая обратная шкала для дат "до нашей эры", которая ведется от акта рождения одного известного лица. Или будет начата новая-новая эра отсчета времени, и тогда будет совсем сложно вести пересчет дат более 2 тысяч лет. Вполне возможно уже нужно было бы его придумать и начать эксплуатацию, тем самым застолбив Стандарт.

Использовать 1-ричную систему. Сколько палочек - такое и число. Самая натальная

Имперские средства измерения и изготовления (линейки, штангенциркули, лимбы у станков), кстати, чаще делили на 10. Вернее, у металлообрабатывающий станков лимб обычно делился на 10 + нониус на 10 (разрешение 1/100"), у большого штангенциркуля деление на 40 + нониус на 25 (разрешение 1/1000"), у маленького деление на 16 + нониус на 8 (разрешение 1/128"). На 24 делилась линейка метранпажа в полиграфии, это немного другая предметная деятельность. А на 12 любили делить французы, там да, моден был лимб 12 + нониус 12 (разрешение 1/144"), так что на самом деле достаточно странно, что метрическая система пошла именно от них. Просто там случилась революция и начали ломать всё, от календаря до средств измерения, а смотрящих в изумлении производителей с вопросом «что нам делать с имеющимся оборудованием» во-первых, было меньше, и они были мельче, чем в той же Британии, а во-вторых, их можно было легко переубеждать методом гильотинирования.

Мы уже давно не живём по астрономическому времени. После революции в России, позднее в СССР ввели так называемое "декретное" время. Происходило это следующим образом. Впервые летнее время в России было введено 1 июля 1917 года, когда в соответствии с декретом Временного правительства стрелки всех часов в России были переведены на один час вперед — до особого распоряжения, которое и последовало 28 декабря в виде декрета уже Совнаркома.
       Однако 31 марта 1918 года СНК РСФСР постановил снова перевести стрелки часов — на два часа вперед. Это время и получило название летнего. На зимнее время РСФСР перешла 17 сентября 1918 года путем перевода стрелок на один час назад. 31 мая 1919 года стрелки снова перевели на час вперед. А 1 июля отняли от часа 31 минуту и ввели так называемое поясное время. Но уже 16 августа последовал переход на зимнее время (перевод стрелок на час назад). Следующий переход на летнее время произошел только 21 февраля 1921 года, когда стрелки снова перевели на час вперед, а уже 20 марта стрелки часов были переведены вперед еще на один час. 1 сентября стрелки перевели на час назад, 1 октября произвели ту же операцию. Следующий перевод стрелок, на час назад, состоялся 1 октября 1922 года. 21 июня вслед за очередным введением поясного времени стрелки снова перевели на час вперед. Это время стало называться декретным. Очередное введение летнего и зимнего времени состоялось в 1981 году. 31 марта 1991 года было отменено декретное время: часы единовременно были переведены на час назад, а 29 сентября их снова перевели на час назад, ознаменовав тем самым введение поясного времени и полную отмену летнего. Однако уже 19 января 1992 года декретное время было восстановлено. Так продолжалось до 1997 года. И это только в России. Официально установленное время в городах и странах. Например, зимой в России официальное время на 1 час опережает поясное, а летом (в период введения летнего времени) - на 2 часа. в 2011 году в России законом «Об исчислении времени» понятие местное время введено в официальное обращение фактически взамен понятий поясное время и декретное время. Так, что рассуждения на секунду, с точки зрения людей в повседневной жизни выглядит обсурдом. Государства, отдельные города давно играют часами. Примеров много, как и стран. Астрономическое время изначально неравномерно и не линейно, зависит от многих факторов. Время определенное по "атомным" часам линейно (покрайней мере мы так считаем исходя из уровня развития науки в этой области на сегодняшний день) и попытка синхронизации двух временных интервалов некий обсурд, так как астрономическое время вычисляется с учётом многих параметров. Единицей измерения времени в астрономии служат сутки - промежуток времени, в течение которого Земля делает полный оборот вокруг своей оси относительно какой-нибудь точки на небе. В зависимости от этой точки отсчета различают звездные сутки - промежуток времени между двумя последовательными одноименными кульминациями точки весеннего равноденствия, и истинные солнечные сутки - промежуток времени между двумя последовательными одноименными кульминациями центра Солнца. Солнечные сутки примерно на 4 минуты длиннее звездных, так как Солнце двигается среди звезд в сторону вращения Земли, и для того, чтобы его догнать, Земле надо сделать относительно звезд чуть больше одного оборота. Для измерения больших промежутков времени используют тропический год - промежуток времени между двумя последовательными прохождениями центра Солнца через точку весеннего равноденствия. Для измерения времени можно использовать как звездные, так и истинные солнечные сутки. Если используются звездные сутки, измеряемое время называют звездным временем, а если истинные солнечные сутки - то истинным солнечным временем. Однако это не означает, что мы измеряем два каких-то независимых друг от друга времени. Фактически, это как бы две разные линейки для измерения ввремени. Резюмирую выше приведенное, можно однозначно прийти к выводу, что дополнительная "секунда" надумала проблема. Человечество не всегда заморачивалось такими проблемами, например, Юлианский и Григорианский календари, к 1918 году расхождение в 13 суток. И таких примеров много, как в прошлом так и в настоящем. Так, что и этот вопрос решат.

При чтении воспоминаний при запуске советских автоматических станций к планетам попадался еще один вариант времени, который я не мог на гуглить. Сейчас название не вспомню, но осталось впечатление, что это было специфичное применение только в космонавтике и соответствовало зимнему времени, которое никогда не переводили на летнее. Интересно было бы узнать так ли это было или я неправильно понял автора воспоминаний.

Очень похоже на то, что я смог выяснить об этом времени. Я попробовал использовать Stellarium как тест для случая начала связи с КА на Луне и у Венеры. У меня получилась разница в час между этим временем и тем по которому рассчитывал Stellarium. На момент сеанса связи у Stellarium объект был за линией горизонта.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий