php - UTC 时钟基于服务器时间吗?

标签 php javascript date time

我有一个 JavaScript 时钟,可以获取 UTC 时间,它目前可以工作,但时间基于客户端的计算机。我可以做什么来根据服务器的时间来代替?我使用 PHP 作为服务器脚本语言。我不想使用 AJAX。

<?php
$year   = date("Y");
$month  = date("m");
$day    = date("d");
$hour   = date("h");
$minute = date("i");
$str    = $year . $month . $day . $hour . $minute;
echo "history.pushState('', 'title', '?q=$str');";
echo "var ct = '$str';";
?>
function dT(){
    var d = new Date();
    d = new Date(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds());
    d.setTime(d.getTime());
    v = d.getFullYear() + "" +
            padstr(d.getMonth()) + "" +
            padstr(d.getDate()) + "" +
            padstr(d.getHours()) + "" +
            padstr(d.getMinutes()) + "" + padstr(d.getSeconds());
    if(ct !== v){
        history.pushState('', 'title', '?q=' + v);
        ct = v;
    }
    setTimeout('dT()', 1000);
}
dT();

编辑

    var a = moment().format("<?php echo date("Y-m-d H:i:s", time()); ?>");
    document.getElementById("time").innerHTML = a;
    function clock_tick(){
        var time = moment(a);
        time.add('second', 1);
        a = time.format("YYYY-MM-DD HH:MM:SS");
        document.getElementById("time").innerHTML = a;
        setTimeout("clock_tick()", 1000);
    }
    clock_tick();

最佳答案

这应该可以帮助您入门。您不需要使用 moment.js,但我想尝试一下,因为有人建议它。


<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="moment.js"></script>
<script language="javascript">
$(function() {
    $('#clock')[0].innerHTML = moment().format("<?php echo date("Y-m-d H:i:s", time()); ?>");
    clock_tick();
});
function clock_tick(){
    var clock_div = $('#clock')[0];
    var time = moment(clock_div.innerHTML);
    time.add('second', 1);
    clock_div.innerHTML = time.format("YYYY-MM-DD hh:mm:ss");
    setTimeout("clock_tick()", 1000);
}
</script>
</head>
<body>
<div id="clock"></div>
</body>
</html>

然后正如我之前所说,您可能需要设置:

date_default_timezone_set("UTC");

引用链接:
http://php.net/manual/en/function.date.php

关于php - UTC 时钟基于服务器时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16350466/

相关文章:

java - 在 Java 中使用 STR_TO_DATE 插入日期,使用 PreparedStatement

python - 当使用 Group By 进行日期并计算该期间内的事件时,Pandas 从周日开始一周

php - 将日期从一个表复制到另一个表并更改mysql中的格式

PHP OOP:为什么 self::$$property[$key] 不起作用?

php - PHP 准备语句的日期格式

javascript - 这两种传递url参数的方式有什么区别 "/blog/12"和 "/blog?id=12"

javascript - 在 paper.js 中调整矩形 "onResize"的大小

javascript - 如何在 Vue 3 模板中使用导入函数?

php - 以不同的日期格式执行 SQL 查询

php - 通过远程数据库连接 utf8 与本地连接返回的字符不同