Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UTC如何处理Javascript和时间错误的计算机?_Javascript_Time_Utc_Systemtime - Fatal编程技术网

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

UTC如何处理Javascript和时间错误的计算机?,javascript,time,utc,systemtime,Javascript,Time,Utc,Systemtime,我一直在编写一些依赖于通用时间的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代码。我用两台电脑在网上做这件事。其中一个比另一个晚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年的联网系统来说,这是令人震惊的)然后您需要从其他地方获取当前时间

执行此操作的标准方法是使用

一个快速的谷歌出现了:


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

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

执行此操作的标准方法是使用

一个快速的谷歌出现了:


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

如果通知发送到服务器或从服务器发送,您的JavaScript代码是否也可以从该服务器获取正确的时间?这里还有一些答案可能会有所帮助。它有点过时(没有双关语),但有一些好的提示。如果通知发送到服务器或从服务器发送,您的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é))
});