|
|
|
| Коллеги, помогите плиз подправить сценарий и оптимизировать его. Надо только вывести идущее серверное время и локальное и исправить маленькую ошибочку. Сам увы не могу ее найти, так как с js туго.
Код скрипта ниже:
<?
echo date("Y.m.d H:i:s")."<br><br>";
?>
<U>Местное время клиента:</U> <span id=timeK></span><br>
<U>Время сервера с переводом на зону клиента:</U> <span id=time></span><br>
<U>Местное время сервера:</U> <span id=timeS></span><br>
<script>d=document;
dServM=<?=date('Z')/60?>; //Смещение часового пояса сервера (минут)
Dphp=<?=gmmktime()?>*1000; //Гринв.вр.сервера в мсек.. Если нет пхп,
// заменить 1178289658 числом 1131037423 ,это будет 17:03 для MSK
d.write('Начальное время сервера: '+(new Date(Dphp))+'<br>');
Djs=(D=new Date()).getTime()-D.getTimezoneOffset()*60000;
//Гринв.вр.клиента в миллисекундах
d.write('Начальное время клиента: '+(new Date(Djs))+'<br>');
DD=Dphp-Djs; //Разнобой часов.
//Прибавлять, чтобы получить серверное, но в местном поясе
d.write('Часовой пояс сервера: '+dServM+'<br>');
dKlientM=-(new Date()).getTimezoneOffset();
//У JS сдвиг в обратную сторону, приводим к PHP
d.write('Часовой пояс клиента: '+dKlientM+'<br>');
DPoyas=(dServM-dKlientM)*60000; //Разность поясов.
//Прибавить,чтобы вернуться к местному серверному
onload=function(){setInterval("clock1()",1000);clock1();}
function clock1(){var D0;
D0=new Date;
hms('timeK',D0);
hms('time',new Date(D0.getTime()+DD));
hms('timeS',new Date(D0.getTime()+DD))+DPoyas;
}
function hms(layr,X){var m,s; d.getElementById(layr).innerHTML
=X.getHours()
+':'+((m=X.getMinutes())<10?'0':'')+m
+':'+((s=X.getSeconds())<10?'0':'')+s;
}
</script>
|
Результат работы:
2007.05.04 19:43:25 - серверное время, выведенное через PHP
Местное время клиента: 20:00:06
Время сервера с переводом на зону клиента: 16:43:26
Местное время сервера: 16:43:26
Начальное время сервера: Fri May 4 19:43:25 UTC+0300 2007
Начальное время клиента: Fri May 4 23:00:05 UTC+0300 2007
Часовой пояс сервера: 180
Часовой пояс клиента: 180
Ошибка в часах серверного времени. Хелп. Заранее спасибо. | |
|
|
|
|
|
|
|
для: Jura
(04.05.2007 в 21:03)
| | Спасибо за отзывчивость коллеги. | |
|
|
|
|
|
|
|
для: Jura
(05.05.2007 в 21:19)
| | лично я читал
ответа не знаю | |
|
|
|
|
|
|
|
для: Jura
(04.05.2007 в 21:03)
| | А не проще сделать
<?
echo '<U>Местное время сервера:</U> '.date("H:i:s").'<br><br>';
?>
|
? | |
|
|
|
|
|
|
|
|
для: Trianon
(06.05.2007 в 00:51)
| | Изюмительно, то что надо. Спасибо. | |
|
|
|