Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.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
Javascript Date getTime()在不同的计算机上返回不同的值_Javascript_Date - Fatal编程技术网

Javascript Date getTime()在不同的计算机上返回不同的值

Javascript Date getTime()在不同的计算机上返回不同的值,javascript,date,Javascript,Date,根据,新日期(): 创建表示单个 瞬间。日期对象基于时间值,该时间值是 UTC 1970年1月1日以来的毫秒数 说到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的毫秒数,在不同的机器上给出不同的值

根据,
新日期()

创建表示单个 瞬间。日期对象基于时间值,该时间值是 UTC 1970年1月1日以来的毫秒数

说到
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
?本地时区(或系统时间)是否会以某种方式影响此逻辑?

是的,这是因为时区

使用:

new Date(Date.UTC(year, month, day, hour, minute, second)) 
可以根据特定UTC时间创建日期对象


文档中规定了:

注意:其中Date被称为具有多个 参数,指定的参数表示本地时间。如果UTC是 如果需要,请使用具有相同参数的新日期(Date.UTC(…)


console.log(新日期(新日期(1,0,1).setFullYear(1))
结果是
周一1月1日00:00:00 GMT-0500(美国东部时间)
因此,是的,当您以这种方式创建日期时,时区会有所不同。@epascarello:在my local Node.js上,同样的语句给出:周一1月1日00:00:00 GMT+0100(中欧标准时间)。这不一样吗?纽约的午夜和华沙的午夜显然不一样…
console.log(新日期(“周一1月1日00:00:00 GMT+0100(中欧标准时间)”)
is
Sun Dec 31 2000 18:00:00 GMT-0500(美国东部时间)
@jcaron:不一样,但规范中提到了UTC,而且与1970年1月1日00:00:00 UTC的差异应该是恒定的,无论时区如何,不是吗?事实上,我没有注意到an有点混乱。最好包含一个指向“文档”的链接;-)