Служба точного времени
Точное время: | |
---|---|
Ваши часы: | |
Смещение: | сек |
В прежние времена для полноценной жизни были достаточны простейшие временные ориентиры - рассвет, полдень и закат. Многие крупные города жили по собственному времени, а разница между часами в разных городах составляла не целое число часов. С развитием коммуникаций, транспортных сетей и увеличением темпа жизни в крупных городах потребовалось увеличить точность определения времени.
Для хранения эталонного времени раньше использовали солнечные, водяные и песочные часы, погрешность которых составляла несколько минут в сутки. Со временем стали распространены более точные механические и кварцевые часы, однако по сегодняшним меркам они также имеют большую погрешность (секунды в сутки). Сейчас в качестве эталонного времени используются атомные часы, хранящиеся на разных континетах, а в будущем, эталоном точного времени вероятней всего станет излучение миллисекундного пульсара.
Служба точного времени предназначена для хранения и предоставления информации эталонного времени. Для синхронизации часов до недавнего времени использовались в основном сигналы точного времени передаваемые радиостанциями, а с развитием глобальной сети Интернет время стало передаваться через компьютерные сети по птороколу NTP (Network Time Protocol). Еще одним источником времени может служить система GPS, принципы работы которой основаны на передаче сигналов точного времени.
Сервер времени в Донецке
Сервер ntp.net.dn.ua является NTP-сервером с уровнем точности stratum2, который синхронизируется с NTP-серверами уровня stratum1. Для надежной и точной синхронизации времени по cети очень важно иметь качественную связь с сервером, обеспечиващую стабильность и минимальные задержки при передачи данных. Поэтому, тем кто находится в Украине, а тем более в Донецке, предпочтительней всего использовать сервер ntp.net.dn.ua, который является ближайшим и имеет хорошее подключение к Интернет. Это обеспечит синхронизацию времени с точностью до миллисекунд.
Настройка синхронизации времени компьютеров
Неверное показания часов компьютера может привести к сбоям программ, алгоритм работы которых привязан к времени. Разное показание системных часов компьютеров в одной локальной сети приводит к рассогласованию работы сетевых программ, например, может получиться так, что время изменения документа на одном компьютере окажется в будущем для другого компьютера. Также некоторое лицензионное ПО может отказать в работе, потому что срок действия лицензии контроллируется по системым часам. Сервер по умолчанию time.windows.com находится далеко, поэтому большие временные задержки не позволяют сделать синхронизацию стабильной.
Для настройки локального сервера времени в Windows XP нужно зайти в "Свойства даты и времени" (правым кликом мыши на часах в правом нижнем углу или через Панель управления), далее перейти в закладку "Время Интернета" и ввести сервер ntp.net.dn.ua.
В Windows Vista нужно нажать на часы в правом нижнем углу, выбрать "Изменение настройки даты и времени" → "Изменить дату и время" → "Время Интернета" → "Изменить параметры". Включить "Синхронизация с сервером времени в Интернете" и в поле "Сервер" указать ntp.net.dn.ua.
В MacOS нужно зайти в "Системные настройки" → "Дата и время", включить "Получать дату и время с сервера", ввести ntp.net.dn.ua.
В Linux сервер NTP указывается в файле конфигурации /etc/ntp.conf
, строка:
server ntp.net.dn.ua
.
Синхронизация времени на смартфонах
В смартфонах очень важно использовать надежный сервер NTP для навигации GPS. В заводских настройках обычно указан сервер по умолчанию, который находится далеко, имеет большое время пинга, поэтому определение координа по ступникам выполняется долго. Для ускорения работы GPS рекомендуется использовать ближайший NTP-сервер, например украинский пул серверов pool.ntp.org или Донецкий ntp.net.dn.ua.
Для изменения системных настроек времени в смартфонах обычно требуется получение полного доступа к системе, что выходит за рамки данной статьи. А для синхронизации часов с сервером используются программы NTP-клиенты, устанавливаемые отдельно.
На смартфонах с Android для более быстрой работы GPS нужно изменить адрес сервера в файле
/system/etc/gps.conf
, строкой NTP_SERVER=ntp.net.dn.ua
. Для автоматической
синхронизации системных часов можно установить программу ClockSync.
Для Nokia Symbian можно использовать программу FreeTimeSync.
Бесплатные часы для сайта
Вы можете бесплатно разместить часы точного времени у себя на сайте. Для этого нужно подключить библиотеку ntpclock.js:
<script src="http://net.dn.ua/time/ntpclock.js" type="text/javascript"></script>
В нужное место сайта вставить элемент часов с уникальным именем, например myClock
:
<span id="myClock"></span>
... а также код запуска часов с указанным выше именем:
<script>NTPClock.setup("#myClock");</script>
Скрипт выполняет только вывод времени, а оформление Вы можете задать самостоятельно, например при помощи стилей CSS. Примеры различного оформления часов:
Пример "без оформления" | |
---|---|
Пример "ЖК-часы" | |
<style type="text/css"> #myClock { font: bold 16px monospace; color: #0F0; background-color: black; } </style> |
|
Пример "Цифровые часы" | |
<style type="text/css"> #myClock { font: bold 40px sans-serif; color: #AAA; border: 1px solid #CCC; box-shadow: 3px 3px 10px #CCC; } </style> |
JavaScript NTPClock API
To get accurate time, JavaScript NTP library performs AJAX-request back to NTP server and takes into account measured network latency.
NTPClock
object supply the next API for sites:
- NTPClock.timeFormat(Date)
- - return value of supplied
Date
as formatted time string:HH:MM:SS
. - NTPClock.updateTime()
- - perform request to server and update local variables like
drift
,serverTZ
, etc ... - NTPClock.getServerTime()
- - return value of
serverTime = localTime - drift
asDate
object. - NTPClock.getSererTZ()
- - return server timezone as
string
. - NTPClock.getDrift()
- - return value of
drift = localTime - serverTime
asint
in milliseconds. - NTPClock.setup(id)
- - setup clock at place of element with given
id
as string.
Important! Because of javascript crossdomain security restrictions, this library must not be downloaded, but included directly from this site:
<script src="http://net.dn.ua/time/ntpclock.js"></script>