npf*_*oss 3 javascript timestamp date utc
我见过很多关于如何在 JavaScript 中获取日期/时间的问题,答案总是类似于
Date.now()返回 UTC 时间戳(以毫秒为单位)
但这个值到底有多可靠呢?它仅基于运行浏览器的任何计算机的系统时钟吗?如果是这样,看起来它可能与真正的 UTC 时间有很大的差异,但是应该预期有多大的变化?我知道关心精确的毫秒是不可能的,但是关心秒或分钟的数量级又如何呢?
它仅基于运行浏览器的任何计算机的系统时钟吗?
正确的。这很可能是完全不准确的。例如,在我的计算机上,其时钟不准确,此时Date.now()返回1563724931361,当传递给 时new Date,给出:
2019 年 7 月 21 日星期日 11:02:11 GMT-0500(中部夏令时间)
这是完全错误的。
如果客户希望提供不准确的时钟Date.now(),那么他们这样做是非常简单的,但通常情况下,对于大多数普通用户来说,它会是准确的,因为大多数人都有准确的时钟。
有多准确?这取决于硬件、计算机上次从时间服务器请求时间以来的时间,以及计算机打开后的时间(无论是关闭电源还是待机/休眠),但大多数情况下,它会获胜离开时间不要超过一分钟。