Вывод серверного времени на сайте
Всем привет!
Подскажите пожалуйста: как сделать чтобы отображалось время на сайте, при этом, чтобы если задал, например, GMT+6 - то оно и будет всегда показываться, независимо от того, какое время стоит на копьютере у пользователя. Использую такое решение: <SCRIPT Language="JavaScript"> function ClockTimeZone() { var TimezoneOffset = 6 // указать нужное смещение по Гринвичу var localTime = new Date(); var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000; var time = new Date(ms); var hour = time.getHours(); var minute = time.getMinutes(); var second = time.getSeconds(); var temp = "" + ((hour < 10) ? "0" : "") + hour; temp += ((minute < 10) ? ":0" : ":") + minute; temp += ((second < 10) ? ":0" : ":") + second; document.getElementById('clock').innerHTML = temp; setTimeout("ClockTimeZone()",1000); } onload = ClockTimeZone; </SCRIPT> Однако, при неправильном времени на компьютере пользователя, данный скрипт будет также выводить неправильное время. Как нужно переписать, чтобы он был привязан не ко времени с системы пользователя, а к серверному времени (с корректировкой +/- по GMT) ? Спасибо! |
McCloud,
нужно время сервера послать при открытии страницы, а потом к этому времени плюсовать время прошедшее с открытия страницы. |
Может, не в тему, но если речь о дате и об онлайн заказах, то вот это неплохо:
date_default_timezone_set('Europe/Moscow'); Правильно я делаю, чтобы время было в любой части планеты мое? |
Цитата:
date_default_timezone_set('Europe/Moscow') это будет временем временем сервера для РНР, но не для SQL. |
Цитата:
Есть какие подводные камни? |
Если не использовать функции sql, которые работают по системному времени, пожалуйста. Но трудно представить запросы, в которых нужно сравнить дату/время с текущей, да еще с интервалами без NOW(). Можно конечно в запрос подставить и полученное от date().
Временная зона обычно доступна для установки через панель конфигурации сервера, то есть date_default_timezone_set(), это мера крайняя. Если нет, то в службу поддержки, они установят желаемую временную зону для сервера. Если что, что установить временную зону sql можно: SET time_zone = 'Europe/Moscow', или скорректировать локальное время для установленной временной зоны: SET LOCAL time_zone='+hh:mm'. |
Цитата:
А недавно я в нужную директорию в .htaccess вставил строку php_value max_input_vars 2000 и пофиг мне стал провайдер. :). А об этом они умолчали, чтобы я не пробовал, а я поверил и реально не пробовал. Куда писать SET LOCAL time_zone='+hh:mm' ? Все же иногда да проскользнет в MySql NOW(). |
Цитата:
|
Часовой пояс GMT +3, время: 03:01. |