Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Часы сервера на javascript и php (https://javascript.ru/forum/misc/36406-chasy-servera-na-javascript-i-php.html)

NexXT 14.03.2013 13:09

Часы сервера на javascript и php
 
Пытаюсь сделать часы на странице, которые показывают время сервера.
Если стартовое значение часов оставлять пустым (var tm = new Date(); ), то отображается локальное время, и часы идут. Если стартовое время заполнять при помощи php, то показывает время сервера, и часы стоят.
Никак не могу заставить их идти. Подскажите!
<html> <head>
 <?php $date=(date("F d, Y H:i:s")) ?>
<script type="text/javascript">
 function startTime()
 {
 var c="<?php echo $date?>";
 var tm = new Date(c);
 var h = tm.getHours();
 var m = tm.getMinutes();
 var s = tm.getSeconds();
 if (h<=9) h="0"+h;
 if (m<=9) m="0"+m;  
 if (s<=9) s="0"+s;
 tm=h+":"+m+":"+s;
 document.getElementById('srvtime').innerHTML=tm;
 setTimeout("startTime()", 1000);
 }
 </script>  </head> <body onload="startTime()"> <p id="srvtime"> </p> </body> </html>

dmitriymar 14.03.2013 13:21

стоят : а
Цитата:

Сообщение от NexXT
var c="<?php echo $date?>";

переменная по вашему изменяется? один раз код сформировался сервером и всё . аякс в руки
а вообще сервер такими вещами загружать и трафик на это тратить....
определить разницу между серверным и локальным и показывать локальное с учётом поправки

NexXT 14.03.2013 13:40

Цитата:

Сообщение от dmitriymar
используйте формат приемлемый в js при передаче времени с сервера. ясно ведь указан формат

Если использовать формат, указанный по этой ссылке, то получаем результат NaN:NaN:NaN

Цитата:

Сообщение от dmitriymar
переменная по ваше изменяется? один раз отдалось сервером и больше не запрашивается.

Зачем ее изменять? ее достаточно получить один раз, как стартовую точку отсчета, от которой уже скрипт должен считать время сам. Или я не прав?

dmitriymar 14.03.2013 15:05

Цитата:

Сообщение от NexXT
Зачем ее изменять? ее достаточно получить один раз, как стартовую точку отсчета, от которой уже скрипт должен считать время сам. Или я не прав?

-здорово конечно , жаль что доки не согласны с вашей теорией:D

Изучайте доки в первую очередь
var c="<?php echo $date?>";
 var tm = new Date(c);

tm, в этом случае, величина неизменная. представление var c в формате дата тайм , а с не изменяется

Цитата:

Сообщение от NexXT
Если использовать формат, указанный по этой ссылке, то получаем результат NaN:NaN:NaN

опять таки , используются только форматы предусмотренные доками.


Часовой пояс GMT +3, время: 17:06.