我正在用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"
。