Перескакують секунди у Windows


38

Нещодавно додано стрибкову секунду 30 червня 2015 23:59:60 UTC.

Як реалізуються високосні секунди в Windows (зокрема Windows 7)?


7
Настільні комп’ютери (особливо дешеві) відомі тим, що мають неточні годинники, отже, використання NTP. Вимкніть NTP в Windows на день і подивіться, як далеко він відходить від вашого мобільного телефону (для якого використовується NTP). Ви можете бути здивовані, як далеко йде це.
Keltari

2
@Keltari Я не думаю, що телефони використовують NTP. Підтвердженням цього є те, що телефони автоматично вимикають час мобільної мережі, навіть якщо вони не мають з'єднання для передачі даних (наприклад, немає плану передачі даних), але для NTP потрібно буде з'єднання даних. Ви можете запустити NTP по телефону. Можливо, деякі без можливості мобільної мережі (телефони без SIM-карти чи планшети) це роблять. Але всі часті обміни пакетів для ретельного вимірювання зміщення тактових годин за затримкою, ймовірно, коштують набагато більше часу роботи від акумулятора, ніж отримання годинника з мобільної мережі, що є менш точним, але достатньо хорошим для телефону.
Селада

Відповіді:


35

Як сервіс Windows Time ставиться до високосної секунди

Послуга Windows Time не вказує значення показника Leap, коли служба Windows Time отримує пакет, що включає стрибну секунду. (Індикатор стрибка вказує, чи потрібно вставити або видалити майбутню стрибкову секунду в останню хвилину поточного дня.) Отже, після того, як відбудеться високосна секунда, клієнт NTP, який працює з сервісом Windows Time, на секунду швидший, ніж фактичний час. Ця різниця у часі вирішується при наступній синхронізації.


23
Це не на секунду швидше, а на одну секунду вперед.
Артуро Торрес Санчес

1
@ ArturoTorresSánchez Залежить від того, додається чи видаляється високосна секунда. Цілком можливо, що автор цього тексту мав на увазі негативний стрибок. Негативні стрибкові секунди ще не відбулися, але вони можливі та, імовірно, підтримуються ntp.
Pepijn Schmitz

19
@ ArturoTorresSánchez: На секунду швидше і на одну секунду вперед - це те саме, принаймні в американській англійській мові. Якщо попереду годинник, це швидко.
Йорик

16
І в будь-якому випадку "швидше" - це пряма цитата з пов'язаної статті. Тож вам потрібно буде братися за справу з Microsoft, а не з duDE.
GalacticCowboy

11
@GalacticCowboy, так, я знаю, що це пряма цитата. Це мене просто турбує. Більш швидкий годинник вийшов із синхронізації з часом.
Артуро Торрес Санчес

35

Windows зазвичай діє як клієнт NTP . Він просто оновлює свій час під час наступного оновлення з сервера NTP, який чітко має методи обробки високосних секунд. Це станеться за умови налаштування вашої системи для синхронізації часу через NTP . Якщо це не так, тоді нічого не відбудеться, оскільки Windows 7 не має вбудованої функціональності для роботи з високосними секундами


11
"Windows 7 не має вбудованої функціональності для роботи зі стрибковими секундами" - ... а також не міг, оскільки, на відміну від високосних днів, стрибкові секунди довільно вирішує якийсь комітет. Оскільки Windows 7 не може прочитати майбутнє, немає способу впоратися з цим, не звернувшись до сервера.
BlueRaja - Danny Pflughoeft

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 Time


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.