JS 日期 YYYY-MM-DD 返回不正确的值

JS Date YYYY-MM-DD Returning incorrect value

我有 HTML Date 输入 return 格式为 'YYYY-MM-DD'

的字符串

然后我想把它放到Date构造函数中,这样我就可以把它转换成ISO格式(供Mongo查询使用)

然而,结果出人意料。 执行 new Date('2020-06-25') returns“2020 年 6 月 24 日星期三 20:00:00 GMT-0400(东部夏令时)”。请注意,这是前一天。为什么会发生这种情况,我该如何更改它以获得当前日期?谢谢

当您在 JavaScript 中创建新的 Date 对象时,它希望参数采用 GMT 时间。然后它将其转换为您当地的时区 GMT-0400,这解释了为什么它会关闭 4 小时。您可以通过将时区附加到日期字符串来设置时区:new Date('2020-06-25 GMT-0400') 应该给您“Thu Jun 25 2020 00:00:00 GMT-0400”。