Як ПК дізнається, коли змінився час?


15

У моїй країні офіційний час змінюється в перший місяць весни і восени. Коли офіційний час змінюється, змінюються і годинники мого мобільного телефону та ПК.

Як ці пристрої виявляють зміни?


Ого. економія денного світла за півроку
мкалекс

2
Комп’ютер знає, який саме час? І ви знаєте, яка дата літнього часу повинна змінитися правильно? Тому тривіально вводити рядок коду в ОС, який говорить, що if (date=DST_START) then hour=hour+1 else if (date=DST_END) then hour=hour-1зазвичай цього достатньо, але якщо правила змінюються (як, наприклад, у Північній Америці в 2007 році), вам потрібно завантажити оновлення ОС. Окрім цього, єдиний привід полягає в тому, що якщо системний годинник неправильний (наприклад, батарея материнської плати), то він не може знати, коли потрібно змінити час (але це не має значення, оскільки вам потрібно все-таки встановити дату та час).
Synetech

Відповіді:


20

Більшість операційних систем мають основні правила для обчислення цього (наприклад, у перші вихідні після конкретної дати), тому вони можуть самостійно налаштовуватися, не вимагаючи підключення до будь-якого сервера часу. Однак це може накрутити годинник у випадку зміни офіційних правил (наприклад, останніх змін для Росії) або відновлення резервного копіювання системи (тому система регулює час двічі).

Як альтернатива, деякі пристрої можуть звертатися до віддаленого сервера (швидше за все, вони це роблять постійно) або використовувати інший тип вбудованої часової позначки (наприклад, трансляцію як частину відеотексту / даних ceefax або DVB, коли йдеться про телевізійні програми та приймачі / рекордери / телевізори).

Редагувати: Просто зазначити: Старіші версії Windows (наприклад, Windows 95 або Windows 98) ніколи не довіряли власній оцінці, тому вони завжди казали користувачеві перевірити правильний час, коли він змінився. Windows Vista та Windows 7 (не впевнені, що стосуються версій між ними) більше не роблять цього, а просто припускають, що вони праві (крім використання сервера часу для синхронізації годинника).


NTP не містить інформації про DST або часовий пояс. Він лише встановлює, який саме час у UTC. Клієнт повинен окремо застосовувати правила, відповідні їх часовому поясу, використовуючи базу даних Olson або аналог. Служба часу Windows з'являється реалізувати тільки NTP, не маючи коштів поширення оновлених правил часового поясу: technet.microsoft.com/en-us/library/cc773061(v=ws.10).aspx
dhasenan

Гаразд, тому NTP можна використовувати лише для визначення того, чи локальний годинник все ще / вже є на DST у випадку, якщо система вважає, що слід здійснити коригування (наприклад, після повернення до резервної копії). Але так, це звучить логічно, враховуючи, що UTC / GMT + 0 ніколи не змінюється. Трохи переформулював це речення.
Маріо

7

Linux використовує базу даних часового поясу IANA, щоб знати, коли змінюється DST. Інша історія для Windows з кількох причин. По-перше, Windows використовує RTC в місцевий час, а Linux - в UTC. Уявіть, що DST змінюється в Windows. Це дозволяє створювати файли в майбутньому, і це може спричинити деякі проблеми. Крім того, старші Windows по-різному ставляться до DST, оскільки тоді існували різні правила DST, і Microsoft більше не надає оновлення для цих версій Windows, тому тепер вони не можуть змінювати правила DST.

Більше про це тут: http://en.wikipedia.org/wiki/Daylight_saving_time#Computing


2

Простіше кажучи, ваша ОС просувається через оновлення, щоб регулювати час.

Windows робить це за допомогою Windows Update , а Linux за допомогою файлів часових поясів .


Не зовсім вірно для Windows, принаймні, не для старих версій. Windows в змозі обчислити це самостійно (подібно до Linux), але для цього потрібні оновлення через відсутність правил (як ви пов’язали).
Маріо

1

Мобільні телефони встигають оновлювати час через мережу. Аналогічно у випадку з Windows він оновлюється через Інтернет. Це працює, лише якщо ви вибрали автоматичне оновлення часу. Ви можете перевірити налаштування дати та часу на своєму мобільному або ПК. введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.