今天在找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 了。
网友评论