一尘不染

Javascript日期对象是否总是一天休息?

javascript

在我的Java Script应用程序中,日期以如下格式存储:

2011-09-24

现在,当我尝试使用上述值创建一个新的Date对象(以便我可以以其他格式检索日期)时,该日期始终会退回一天。见下文:

var doo = new Date("2011-09-24");
console.log(doo);

日志:

Fri Sep 23 2011 20:00:00 GMT-0400 (Eastern Daylight Time)

阅读 390

收藏
2020-04-25

共1个答案

一尘不染

请注意,东部夏令时间为-4 hours,而您返回日期的小时数为20

20h + 4h = 24h

这是2011-09-24的午夜。

您得到的日期正确,只是您从未指定正确的时区。

如果需要访问日期值,可以使用getUTCDate()或任何其他getUTC*()功能:

var d,
    days;
d = new Date('2011-09-24');
days = ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat'];
console.log(days[d.getUTCDay()]);
2020-04-25