欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

JavaScript的new date等日期函数在safari中遇到的坑

程序员文章站 2022-03-19 19:50:42
...
最近在做移动Web的时候,在PC上用Chrome调试都成功了,但是在iPhone上真机一测就出现了奇怪的问题。经过一系列调试发现是日期相关的地方出现了问题。起初怀疑是生产环境的问题,但用Mac版的safari调试本地也出现了同样的问题。查阅一些资料后发现,safari中对于JavaScript的new Date函数的支持有一个比较奇怪的问题。

通常,由于习惯了SQL中的datetime格式,日期是打成yyyy-mm-dd的格式,然而,safari竟然不支持这样的格式,所以当你输入如下语句时,会返回空的时间。

new Date('2016-04-17');

Safari支持的格式是yyyy/mm/dd这样的,差别主要在于短横-与斜杠/,而斜杠这样的格式在其他常见的浏览器中也都是可以正常运行的,所以只需要都换成斜杠就可以了,转换函数如下所示:

new Date('2016-04-17'.replace(/-/g, "/"));
相关标签: JavaScript