Цитата:
Сервер отдает смещение временных зон, расположенных западнее UTC как отрицательные числа, а расположенных восточнее UTC как положительные. У клиента же наоборот западные смещения положительные, а восточные отрицательные. Смещение на которое корректируются часы, это "смещение клиента + смещение сервера", то есть при любом смещении получаем часы сервера. Точность определяется точностью часов на клиенте. Проверяйте, совсем не сложно в примере вместо new Date().getTimezoneOffset() * 60 * 1000 подставляя все смещения для России, и используя таймшатам клиентский соответствующий этим смещениям, убедится, что время будет одно. А вот контроль чего-то, если нужен, то это только на сервере. |
<div id="timeClock"></div> <script language="JavaScript"> delta = new Date() - <? echo time()*1000 ?> ; time = new Date(); function fulltime() { time.setTime(new Date() - delta); document.getElementById("timeClock").innerHTML = time.toLocaleString(); setTimeout('fulltime()',1000) } fulltime(); </script> вот в таком виде сделал, все отлично, но вывод идет в виде: 14.08.2016, 1:16:10, как оставить на вывод только время? |
смог.
document.getElementById("timeClock").innerHTML = time.toTimeString().substring(0,8); |
Цитата:
ТС, тебе всего лишь надо передать серверное время в long в скрипт один раз при загрузке страницы. Какое это время будет - Московское или Мухосранское - не имеет значения, поскольку ты собираешься к нему привязывать часики на веб-странице. То есть локальное время юзера вообще не колебет по условиям задачи в первом сообщении. Если тебе на сервере требуется московское время - ну так задай там зону для Europe/Moscow (я так думаю должно быть) и будет тебе по умолчанию город по умолчанию. Смещения "чесав" для пользователя требуется лишь в том случае, когда тебе надо привязать его локальное время к серверному, чтобы, например понять когда у него ночь, а когда день, когда утро, когда время чистить зубки и спать. |
<script language="JavaScript"> delta = new Date() - 1471166553000 ; time = new Date(); function fulltime() { time.setTime(new Date() - delta); document.getElementById("timeClock").innerHTML = time.toTimeString().substring(0,8); setTimeout('fulltime()',1000) } fulltime(); </script> как оказалось, все равно действует по разному, т.е. если у меня не московское, то и им покажет не москву. |
Цитата:
singmen, не пытайтесь подогнать под ответ - время сервера, это время клиента на плюс/минус разницу смещения часовых поясов сервера и клиента. |
Цитата:
|
Типа юзеры такие созвонились и сверяют часики на его сайте: у меня на 3с отстают. - А у меня ажно на 5. - У меня тоже не точно московское, я протестил на яндексе. Капец блин сайт отстой, даже время одинаковое для всех не может показать.
|
Часовой пояс GMT +3, время: 00:06. |