Получить точное время от серверов, Можно ли как-то получить время от ваших серверов? |
Здравствуйте, гость ( Вход | Регистрация )
Получить точное время от серверов, Можно ли как-то получить время от ваших серверов? |
22.3.2013, 10:06
Сообщение
#1
|
|
Новичок Группа: Пользователи Сообщений: 1 Регистрация: 22.3.2013 Пользователь №: 1967 |
это нужно для правильного отображения времени на часах на одном моем сайте. В идеале хотелось бы получить результат, который дает javascript объект "new Date()" и с ним работать)
Спасибо!) |
|
|
26.3.2013, 6:42
Сообщение
#2
|
|
Администратор Группа: Главные администраторы Сообщений: 277 Регистрация: 18.12.2007 Из: Саратов Пользователь №: 1 |
Получать можно по NTP, например запуском команды ntpdate посредством php и парсить результат выполнения команды.
Например так, создав такие функции: Код function query_server($server) { $command = '/usr/sbin/ntpdate -t 0 -qd '.$server; if (!$output = run_command($command)) { return FALSE; } preg_match("/stratum ([\d]+),/s", $output, $stratum); preg_match("/originate timestamp: ([^\n]+)\n/s", $output, $timestamp); if (!isset($stratum[1]) OR !isset($timestamp[1]) OR $stratum[1] == 0) { return FALSE; } $timestamp = substr(trim($timestamp[1]), 17, -4); return array ( 'stratum' => trim($stratum[1]), 'timestamp' => strtotime($timestamp) ); } function run_command($command) { if (!$fp = popen($command, "r")) { return FALSE; } $buffer = ''; while (!feof($fp)) { $buffer .= fgets($fp, 4096); } pclose($fp); if ($buffer != '') { return $buffer; } return FALSE; } Далее вызвав: Код $result = query_server('ntp2.stratum2.ru'); $js_date = date("M, d Y H:i:s", $result['timestamp']); И уже использовать $js_date там где нужно в HTML, например так: Код ... <script type="text/javascript" language="javascript"> <!-- var TimeLocal = new Date(); var TimeNTP1 = new Date("<?php echo $js_date ?>"); //--> </script> ... Скрипт реализации самих часов на JS можно посмотреть тут. Используется он на странице http://www.stratum1.ru Удачи! -------------------- |
|
|
22.5.2013, 21:50
Сообщение
#3
|
|
Новичок Группа: Пользователи Сообщений: 2 Регистрация: 22.5.2013 Пользователь №: 2018 |
Добрый вечер!
Только учусь программированию, подскажите пожалуйста как это все связать. Не разобрался я, поправьте пожалуйста. На stratum1.ru Вы выводите время по средствам js timebox, который выполняет роль таймера, правильно? а откуда берутся данные NTP как они используются и самое главное как их правильно вывести? Извиняюсь за ламерские вопросы Буду очень признателен ответу! |
|
|
Текстовая версия | Сейчас: 19.4.2024, 4:32 |