<分区>
我正在使用 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
?我该如何使它正常工作?
标签 javascript date
<分区>
我正在使用 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"
。
关于javascript - 为什么 new Date() 删除一天? - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698286/