JavaScript日期解析的混乱历史

2025-05-28

这篇文章揭示了JavaScript中日期解析的奇特之处:`2025/05/28`和`2025-05-28`在JavaScript中表示不同的日期。这源于浏览器对日期字符串解析的长期不一致。文章追溯了从2009年ES5标准发布以来,不同浏览器(Chrome、Firefox、Safari)对日期字符串解析的演变过程,以及它们对ISO 8601标准不同程度的实现和对标准理解的偏差。最终,`2025-05-28`这类日期格式会被解释为UTC时间,而其他格式则被解释为本地时间,造成了混乱。文章最后介绍了即将推出的JavaScript Temporal API,它将解决这个问题,强制要求提供时区信息。

开发