为什么new Date()会删除一天?-Javascript



我正在用new Date()创建一个日期。当我这样做的时候,就是减去一天。这是代码:

var dateString = "2016-04-10";
var date = new Date(dateString);
// date = Sat Apr 09 2016 18:00:00 GMT-0600 (MDT)

我误解了什么?为什么日期不是Apr 10 2016?如何使其正常工作?

您的时区是GMT-6(如您提供的输出中的GMT-0600 (MDT)所示)。因此,生成的日期将偏移-6小时。在这种情况下,午夜减去6小时是前一天的下午6点。

如果您调用date.toISOString(),您会看到UTC时间是预期的"2016-04-10T00:00:00.000Z"

最新更新