gpt4 book ai didi

Javascript时钟?

转载 作者:行者123 更新时间:2023-11-30 12:30:50 24 4
gpt4 key购买 nike

我在 PHP 中获取 GMT 时间,我想让它像时钟一样计数。

<?php $time = gmdate('H:i:s'); ?>

<script>var time = <?php echo($time) ?>;
setInterval(function() {
time += 1;
$("#timediv").text("Current time (GMT): " + time);
//somehow convert it to 11:44:31 AM ??
}, 1000);
</script>

seomeon 能帮我吗?

最佳答案

首先,依靠 setTimeout/setInterval 的准确性来显示时间并不是一个好主意。它们不那么准确的原因有很多,比如 CPU 速度变慢。这就是为什么您应该使用 Date 对象,它使用实际时钟。

当我想在客户端使用我的服务器时间时,我会这样做:

<!-- jQuery -->
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>

<!-- dateFormat plugin for nice and easy time formatting -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-dateFormat/1.0/jquery.dateFormat.min.js"></script>

<script>
var clientTime = (new Date()).getTime(),
serverTime = <?php echo time() ?> * 1000,
difference = clientTime - serverTime;

setInterval(function () {
var now = new Date();

now.setTime(now.getTime() - difference);

$("#timediv").text("Current time (GMT): " + $.format.date(now, "hh:mm:ss a"));
}, 1000);
</script>

其背后的关键概念是计算服务器时间和客户端时间之间的差异。然后,您使用差异标准化您的客户端(每次使用 new Date() 创建)。我们仍在使用 setInterval,但即使由于某种原因延迟或加速,显示的时间仍然正确。

关于Javascript时钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com