Safari 时间转换 new Date() 返回 Invalid Date

今天在找BUG 的时候,遇到一个大坑。我写一个评价页面,上面的时间是后端返回的时间,格式是“2019-02-28 20:20:20”
我封装了一个函数,只需要传入一个单位是毫秒的时间就可以了。
于是我这么写

var time = new Date('2019-02-28 20:20:20').getTime();
attendClass(time)

原本以为这个很简单,没啥事,结果没想到这个写法有个大坑。在 safari 中, new Date() 不能识别时间 ‘2019-02-28’ 这样的时间格式,它返回的 Invalid Date 。
解决办法就是将 - 替换为 /
代码如下

new Date('2019-02-28 20:20:20'.replace(/-/g,"/")).getTime();

这样就是完美兼容 Safari 了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。