有人可以向我解释为什么我将以下内容粘贴到Chrome和Firefox的控制台中我会得到不同的结果
new Date("2014-12-01")
Chrome中的输出:
Sun Nov 30 2014 18:00:00 GMT-0600 (CST)
Firefox中的输出:
Date 2014-12-01T00:00:00.000Z
是的,你正确阅读。 Chrome将其渲染为前一天。
答案 0 :(得分:2)
每个浏览器都会在控制台中显示日期。
在您的情况下,Firefox似乎使用了Date.prototype.toISOString
:
new Date("2014-12-01").toISOString(); // "2014-12-01T00:00:00.000Z"
Chrome似乎使用了Date.prototype.toString
。就我而言,在Chrome和我的时区,我得到了
new Date("2014-12-01");
// Mon Dec 01 2014 01:00:00 GMT+0100 (Hora estándar romance)
new Date("2014-12-01").toString();
//"Mon Dec 01 2014 01:00:00 GMT+0100 (Hora estándar romance)"
但请注意,Chrome不会在前一天呈现它。只是它使用GMT-0600
:
Date.parse("Sun Nov 30 2014 18:00:00 GMT-0600 (CST)"); // 1417392000000
Date.parse("2014-12-01T00:00:00.000Z"); // 1417392000000
答案 1 :(得分:1)
我认为Chrome的阅读与您的区域设置有关,因为它会将GMT条目转换为您的时区,并进行必要的调整,无论是按原样减去,添加还是保留。