#优质博文 #前端 #javascript
Why are 2025/05/28 and 2025-05-28 different days in JavaScript?
author Brandon Dong
这是 Chrome/Firefox 的一个有趣的例子:你能发现为什么这个(有效的!)日期字符串被解析为五月吗?
const date = 'it is wednesday, my dudes. 2025, April, maybe...28(?)';
console.log(new Date(date)); // Wed May 28 2025 00:00:00 GMT-0700 (Pacific Daylight Time)
Why are 2025/05/28 and 2025-05-28 different days in JavaScript?
AI 摘要:本文深入探讨了 JavaScript 中日期解析的奇特行为,特别是在处理不同格式的日期字符串(如 '2025/05/28' 和 '2025-05-28')时出现的差异。作者通过分析浏览器历史、规范演变以及代码实现,揭示了这种差异源于时区解析规则的模糊性和浏览器厂商在实现上的不一致。此外,文章还展望了即将到来的 Temporal API 如何解决这些问题,并附带了一些有趣的日期解析“彩蛋”。
author Brandon Dong