gpt4 book ai didi

javascript - 复制此 Live Time 核心功能

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

我正在尝试开发一个简单的 LiveDateTime 对象,该对象可靠、准确并且在某种程度上独立于客户端系统日期,就时间更新而言。

我尝试了几种解决方案:

  • 利用服务器日期和客户端系统日期的时间差来计算耗时,并每150ms相应地更新一次时间。

  • 获取客户端系统 UTC 日期,并使用 setInterval()setTimeout() 每 1000 毫秒增加一秒。还尝试使用自校正延迟循环。

  • 上述的一些类似变体。

以上所有都不符合要求,要么是因为如果更改客户端系统日期,它也会将实时时间设置为关闭,要么只是循环的延迟不准确,并且会随着时间的推移而漂移。

因此,我决定上网搜索一些已经实现并运行了我想要的内容的热门网站。我偶然发现了这个Greenwich Mean Time可靠、准确并且在某种程度上独立于客户端系统的示例。如果我更改系统日期,它们显示的日期不受影响。

检查他们的代码后,我发现很难理解他们在做什么我可以复制,因为要么他们的代码写得不好,要么我不够先进,无法理解。

我知道他们对服务器使用 AJAX 调用 (request.js) 来处理某些事情(可能是服务器时间)。他们正在使用 setInterval(func, 150) 和一大堆我认为不是实时功能核心的其他表示方法。

谁能帮我弄清楚他们准确直播时间的核心功能?如果我能弄清楚这一点,我就可以很容易地复制它。

最佳答案

该示例结合服务器端语言获取服务器时间。时间是PHP直接写到JS里的,比如这一行:

var ServerDSTCheck = new Date(parseFloat(1426849548940.7)).getTime();

float 1426849548940.7 来自服务器,这就是它不受客户端机器时间影响的原因。 AJAX 调用在一定间隔内返回相同的内容以维护服务器时间,因此它不会在客户端上被弄乱并避免客户端延迟。<​​/p>

这是您需要的基础。其余代码是关于夏令时、时区补偿和展示内容的。

关于javascript - 复制此 Live Time 核心功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29117771/

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