Установить время Javascript с временем сервера php? - PullRequest
4 голосов
/ 09 июня 2011

У меня есть ситуация, когда я хочу, чтобы время сервера отображалось на веб-странице.В настоящее время я сохраняю это простым и просто делаю это

<?php 
$CTIME=date ("g:i a");
?>

Это прекрасно работает, за исключением того, что я предпочел бы, чтобы он обновлялся сам по себе без необходимости обновлять страницу.Я подумал, может быть, есть способ, которым я могу установить функцию времени javascript со временем из сценария php, но я не знаю, как мне это сделать.

Возможно, ядумать об этом неправильно ... может быть, есть другие решения, о которых я не думаю, какие-либо идеи ??

Ответы [ 4 ]

3 голосов
/ 09 июня 2011

Попробуйте это:

<javascript>
var ctime = '<?php echo date ("g:i a"); ?>';
</javascript>

Затем позвольте таймеру увеличить значение на стороне javascript.Это не очень точно, но если я понял это правильно, вам нужны только минуты, а не секунды, так что точность, вероятно, не проблема.

3 голосов
/ 09 июня 2011

Вот плагин jQuery для отображения часов:

http://plugins.jquery.com/project/jqClock

Просто инициализируйте его, используя время, возвращаемое с сервера.Он автоматически обновляется каждую секунду на стороне клиента.

2 голосов
/ 09 июня 2011

Используйте ваше базовое время, чтобы вычислить текущее время на лету (без использования какого-либо дополнительного и потенциально медленного / дорогостоящего запроса; он даже не требует jQuery):

var getServerTime = (function () {
    var baseTime = <?php echo time() * 1000; /* convert to milliseconds */ ?>,
        startTime = new Date().getTime();

    return function () {
        return baseTime + (new Date().getTime() - startTime);
    };
}());

Эта функция возвращает текущеевремя (в миллисекундах), основанное на времени на стороне сервера.Вы можете регулярно обновлять свой сайт и использовать эту функцию для определения текущего времени на стороне сервера, например:

// update the site every minute
setInterval(function () {
    var currentServerTime = getServerTime();
    // update everything (format date or something)
}, 60 * 1000);
0 голосов
/ 09 июня 2011

Я полагаю, вы можете легко найти какой-нибудь код JavaScript в Интернете, который показывает часы на вашем сайте.При загрузке страницы PHP установил начальное время запуска этого фрагмента javascript, и я думаю, что вы готовы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...