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

时间:2016-01-14 15:44:23

标签: javascript date

根据MDNnew 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();

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

2 个答案:

答案 0 :(得分:2)

在文档中指定:

  

注意:Date被称为具有多个构造函数的构造函数   参数,指定的参数代表本地时间。如果是UTC   期望的,使用具有相同参数的新日期(Date.UTC(...))。

答案 1 :(得分:1)

是的,这是因为时区。

使用:

new Date(Date.UTC(year, month, day, hour, minute, second)) 

您可以从特定的UTC时间创建日期对象。

mdn Date.UTC()