JS中的日期错误

Date wrong in JS

为什么当我在 javascript 控制台中创建时没有 space 是昨天 9:00PM 的日期,但是当我在末尾写入 space 时时间可以吗?

new Date('2021-07-20')

错误:2021 年 7 月 19 日星期一 21:00:00


new Date('2021-07-20 ')

正确:2021 年 7 月 20 日,星期二 00:00:00

2021-07-20 是有效的 ISO time。它被解析为 2021 年 7 月 20 日 UCT 午夜。然后它会为您转换为当地时间(在阿雷格里港)早三个小时。

2021-07-20 不是有效的 ISO 时间,因此它会针对非标准日期格式命中 JS 引擎的特定于实现的解析器。

您应该在它们之间使用 , ,例如: const d = new Date(2018, 11, 24, 10, 33, 30); 请记住 JavaScript 像索引一样从 0 到 11 计算月份和日期。