时区的JavaScript日期问题

javascript date issue with timezone

本文关键字:问题 日期 JavaScript 时区      更新时间:2023-09-26

我正在将字符串日期转换为日期对象,但少了一天。我用谷歌搜索,但不明白如何更改获得正确的输出。谁能帮助我或给我一个我可以理解的参考。

new Date("2001-02-03")

浏览器资源:Fri Feb 02 2001 19:00:00 GMT-0500 (EST).

预期:Fri Feb 03 2001 19:00:00 GMT-0500 (EST).

浏览器表示JS日期,并考虑了系统的时区。给定的日期字符串没有时间部分,因此它假定时间00:00:00。您似乎处于-05:00时区,因此日期将比您指定的时间晚五个小时,即前一天晚上 7 点。您可以使用toUTCString()查看没有时区的日期信息。

var d = new Date("2001-02-03");
d.toUTCString()
"Sat, 03 Feb 2001 00:00:00 GMT"

或以较短的形式

(new Date("2001-02-03")).toUTCString()