为什么 JavaScript 中的 new Date() 减去 1 天?

2024-02-06

我需要将字符串转换为日期对象。

日期字符串以以下格式传递:

“2015-01-28T00:00:00”

当我创建新日期时,我得到前一个日期:

Entered: new Date("2015-01-28T00:00:00")

Result: Tue Jan 27 2015 17:00:00 GMT-0700 (Mountain Standard Time)

有谁知道为什么会发生这种情况?


当您输入以下内容时:

 new Date("2015-01-28T00:00:00");
 // Result: Tue Jan 27 2015 17:00:00 GMT-0700 (Mountain Standard Time)

浏览器假定您提供的日期采用 GMT 时区。因此它会自动将给定日期转换为您本地的日期。

为了防止将来出现问题,通知浏览器您正在使用的时区总是一个好主意:

 new Date("2015-01-28T00:00:00-07:00");
 // Result: Tue Jan 28 2015 00:00:00 GMT-0700 (Mountain Standard Time)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 JavaScript 中的 new Date() 减去 1 天? 的相关文章

随机推荐