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

jha*_*amm 3 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)
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*lly 9

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

如果您致电date.toISOString(),您将看到UTC时间"2016-04-10T00:00:00.000Z"符合预期.

  • 仅当您知道 ECMAScript 2015 日期字符串解析的不一致时才“如预期”。 (2认同)