在我的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)
请注意,东部夏令时间为-4 hours,而您返回日期的小时数为20。
-4 hours
20
20h + 4h = 24h
这是2011-09-24的午夜。
您得到的日期正确,只是您从未指定正确的时区。
如果需要访问日期值,可以使用getUTCDate()或任何其他getUTC*()功能:
getUTCDate()
getUTC*()
var d, days; d = new Date('2011-09-24'); days = ['Sun', 'Mon', 'Tues', 'Wed', 'Thurs', 'Fri', 'Sat']; console.log(days[d.getUTCDay()]);