UTC如何处理Javascript和时间错误的计算机



我一直在编写一些依赖于通用时间的JavaScript代码。我一直用两台电脑在网上做这件事。其中一个比另一个晚了24分钟。

示例:

Computer 1: 25/07/2020, 21:57     Computer 2: 25/07/2020, 22:21

当两台计算机都输入UTC数字时,它们仍然相当于相隔24分钟。

Computer 1: 1595710054892    Computer 2: 1595711497605

这种时间差异导致我的程序出现问题,因为它依赖于定时通知。

有什么可以纠正的吗?还是我只希望使用我的JavaScript代码的计算机在各自的时区内都有相同的时间?

如果你不能信任计算机上的时钟(坦率地说,这对2020年的网络连接系统来说是令人震惊的(,那么你需要从其他地方获取当前时间。

实现这一点的标准方法是使用网络时间协议。

谷歌快速打开NTP客户端的JavaScript实现:

var ntpClient = require('ntp-client');

ntpClient.getNetworkTime("pool.ntp.org", 123, function(err, date) {
if(err) {
console.error(err);
return;
}

console.log("Current time : ");
console.log(date); // Mon Jul 08 2013 21:31:31 GMT+0200 (Paris, Madrid (heure d’été))
});

如果你在浏览器中处理JS,你将无法直接使用NTP协议,因此你需要通过一些服务器端代码代理请求,这将失去一些准确性(但假设有一个合理的网络连接,这将在几秒钟而不是10分钟左右(。

相关内容

  • 没有找到相关文章

最新更新