Date getTime() 在不同的机器上返回不同的值

jwa*_*zko 5 javascript date

根据MDN 的new Date()说法:

创建一个代表单个时间点的 JavaScript Date 实例。日期对象基于时间值,该时间值是自 1970 年 1 月 1 日 UTC 以来的毫秒数

到那个时刻getTime()

返回指定日期的数值,作为自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数(之前的时间为负)。

为什么声明:

new Date(new Date(1, 0, 1).setFullYear(1)).getTime();
Run Code Online (Sandbox Code Playgroud)

假设返回从 1970 年 1 月 1 日 00:00:00 UTC 到 01/01/0001 12:00:00 AM 的毫秒数,在不同的机器上给出不同的值,例如-62135600400000-62135596800000? 本地时区(或系统时间?)是否会以某种方式影响此逻辑?

Ily*_*lya 3

它在文档中指定:

注意:当 Date 被作为具有多个参数的构造函数调用时,指定的参数表示本地时间。如果需要 UTC,请使用具有相同参数的 new Date(Date.UTC(...)) 。