Прыжок секунды в Windows


38

Недавно была добавлена ​​дополнительная секунда 30 июня 2015 г. 23:59:60 UTC.

Как внедряются дополнительные секунды в Windows (особенно в Windows 7)?


7
Настольные компьютеры (особенно дешевые) печально известны наличием неточных часов, поэтому используется NTP. Отключите NTP в Windows на один день и посмотрите, как далеко он отходит от вашего мобильного телефона (который использует NTP). Вы можете быть удивлены, как далеко это идет.
Келтари

2
@Keltari Я не думаю, что телефоны используют NTP. Доказательством тому является то, что телефоны автоматически отключаются от мобильной сети, даже если у них нет соединения для передачи данных (например, нет тарифного плана), но для NTP требуется соединение для передачи данных. Вы можете запустить NTP на телефоне. Возможно, некоторые из них не имеют возможности мобильной сети (телефоны без SIM-карты или планшеты). Но все частые обмены пакетами для тщательного измерения смещений часов в условиях задержки, вероятно, будут стоить гораздо больше времени автономной работы, чем получение часов из мобильной сети, что является менее точным, но достаточно хорошим для телефона.
Селада

Ответы:


35

Как служба Windows Time относится к високосной секунде

Служба времени Windows не указывает значение индикатора скачка, когда служба времени Windows получает пакет, содержащий високосную секунду. (Индикатор скачка указывает, следует ли вставлять или удалять предстоящую високосную секунду в последнюю минуту текущего дня.) Следовательно, после того, как происходит скачок секунды, клиент NTP, на котором запущена служба времени Windows, на одну секунду быстрее, чем фактическая время. Эта разница во времени разрешается при следующей синхронизации времени.


23
Это не на секунду быстрее, а на секунду вперед.
Артуро Торрес Санчес

1
@ ArturoTorresSánchez Зависит от того, добавляется или удаляется високосная секунда. Вполне возможно, что автор этого текста имел в виду негативную секунду прыжка в голову. Отрицательных високосных секунд еще не было, но они возможны и предположительно поддерживаются ntp.
Пепейн Шмитц

19
@ ArturoTorresSánchez: Одна секунда быстрее и одна секунда вперед - это одно и то же, по крайней мере, в американском английском. Если часы впереди, это быстро.
Йорик

16
И в любом случае «быстрее» - это прямая цитата из связанной статьи. Так что вам нужно обсудить это с Microsoft, а не с DuDE.
GalacticCowboy

11
@GalacticCowboy, да, я знаю, это прямая цитата. Это просто беспокоит меня. Более быстрые часы вышли бы из синхронизации со временем.
Артуро Торрес Санчес

35

Windows обычно действует как NTP- клиент. Он просто будет своевременно обновляться во время следующего обновления с NTP-сервера, на котором явно есть методы обработки дополнительных секунд. Это произойдет, если ваша система настроена на синхронизацию времени через NTP . Если это не так, то ничего не произойдет, так как Windows 7 не имеет встроенных функций для решения дополнительных секунд


11
«Windows 7 не имеет встроенных функций для работы с високосными секундами» -… и не может, поскольку, в отличие от високосных дней, какой-то комитет произвольно выбирает високосные секунды. Поскольку Windows 7 не может читать будущее, нет способа справиться с этим без обращения к серверу.
BlueRaja - Дэнни Пфлюгофт

27
@BlueRaja Windows может «читать будущее», используя общедоступные tzdata, которые содержат информацию о будущих високосных секундах. Вот как Unix-системам удается правильно обрабатывать дополнительные секунды. Кроме того, NTP-пакеты указывают, когда наступает високосная секунда в следующие 24 часа. Windows 8.1 и далее фактически использует tzdata напрямую.
Нил Мэйхью

8
Другими словами, и отвечать на вопрос напрямую, они не являются.
basic6

7

Они не реализованы.

Точно так же, как наручные часы, хронометраж ПК. Как уже упоминалось, Windows 7 использует NTP для синхронизации времени ПК с известным источником. Что эквивалентно тому, что вы время от времени настраиваете свои наручные часы.

Однако , скачок-вторая действительно стать проблемой , если вы собираетесь код записи , которая включает в себя дату / время математика, где количество секунд между двумя датами имеет важное значение, и где эти расчеты должны совпасть с каким - то внешней системой или данных, это скачок второй известно. Я изо всех сил пытаюсь думать о любых таких сценариях, но я предполагаю, что есть некоторые там.


2
Где-то здесь должен быть один: wired.com/2015/07/…
i_am_root

4

Windows просто продолжает работать. В службе времени Windows не предусмотрены дополнительные секунды. Также важно отметить, что ни одна крупная операционная система не предоставляет резервных секунд.

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

Международная служба вращения Земли следит за вращения Земли за неровностей. Некоторые факторы изменяют вращение Земли. К ним относятся приливное трение и таяние континентальных ледниковых щитов (изменения веса!). В совокупности земля замедляется очень немного .

Из Википедии :

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

Поскольку он является нерегулярным и объявляется по мере необходимости , все современные операционные системы используют протокол сетевого времени (NTP) для восстановления после високосной секунды. Это настолько распространенная и известная проблема без изящного решения, что азиатские рынки откладывали открытие на пять минут, чтобы дать компьютерам достаточно времени, чтобы проверить NTP для обновления времени в течение последней високосной секунды.


3

Microsoft не заботится о предоставлении сверхточного времени для клиентов Windows. Они срезали углы и не обрабатывали особые случаи, такие как дополнительные секунды для настольных клиентов. К счастью, NTP-серверы проводят лучшее время, поэтому просто продолжайте синхронизацию!

Служба W32Time не является полнофункциональным NTP-решением, которое отвечает потребностям приложения, зависящим от времени, и не поддерживается Microsoft как таковой.

Как работает служба времени Windows


0

Как указано в статье поддержки Windows, поддержка високосной секунды :

Windows Server 2019 и Windows 10 Обновление за октябрь 2018 поддерживают високосные секунды на платформе.

В статье поддержки также объясняется, как более ранние версии Windows НЕ поддерживают високосные секунды. Особенно:

Обработка високосных секунд не обрабатывается отдельно операционной системой Windows (ОС). Например, информация о году, месяце, дате и времени в следующем формате не поддерживается ОС Windows:

гггг / мм / дд 08:59:60

Поэтому 2012/7/1 08:59:60 обрабатывается как 2012/7/1 09:00:00 в соответствии с форматом ISO 8601.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.