同一段日期字符串在 Chrome 能解析,Safari 得到无效日期。碰到这种情况,我一般先确认改动有没有真的生效。

原因不复杂,不同内核接受的日期格式不同,带空格与短横线的写法兼容性差。

「Safari 日期解析」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。改完顺手把文档补一句,省得下次自己重新推一遍。

new Date('2026-11-09T10:00:00')
// 或手动
const [y, m, d] = '2026-11-09'.split('-').map(Number);

监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

具体做法是,改用标准格式或手动拆分;避免依赖隐式解析;统一封装日期工具。

最后用这个标准收尾,各浏览器解析结果一致,跨端时间显示正确,没有时区偏移问题。

作者 9823189