1. 环境:
- macOS 版本:10.15.3
- Safari 版本:13.0.5
2. 问题描述:
在 Safari 中,用 JS 执行 new Date('2020-05-07 23:59:59')
会得到 Invalid Date。这时候做一些类似日期比较的操作,会得到错误的结果(一直返回 false)。
3. 解决办法:
将日期格式改成 2020/05/07 23:59:59 就可以正常初始化了。
4. 延伸
我又做了几个实验:
new Date('2000-1-1')
» Invalid Datenew Date('2000-1-1 20:20:20')
» Invalid Datenew Date('2000-01-01')
» Goodnew Date('2000-01-01 20:20:20')
» Invalid Date(注意和上例的区别)new Date('2000/1/1')
» Goodnew Date('2000/1/1 20:20:20')
» Goodnew Date('2000/01/01')
» Goodnew Date('2000/01/01 20:20:20')
» Good
所以结合碰到的问题和做的实验,日期的字符串格式用 /
会更安全的。