解决微信小程序Date.parse()获取时间戳IOS显示为NaN

874 阅读1分钟
下午在做微信小程序一个订单有效时长倒计时的功能,发现倒计时在开发者工具上面显示正常,然而在ios的真机调试的时候,莫名的显示不正确。
下面是开发者工具显示的,显示是正常的倒计时:



下面是真机调试的截图,显示为NaN,我这里截图是转了之后,所以就是null,总的来说,就是显示不正常。然而,安卓机是可以的。




IMG_0575.PNG

然后在google的时候才知道是这么个问题,ios系统不支持2018-03-29这样格式的时间导致出现的这个问题,IOS只识别2018/03/09这样的格式。那么这样也好办,正则匹配替换一下试试。
原来的是

var data = '2018-03-09 12:00:00'
var countDown = Date.parse(new Date(data ))

用正则匹配改一下

var data = '2018-03-09 12:00:00'
var format = data.replace(/-/g, '/')
var countDown = Date.parse(new Date(format))

然后再去测试一下,安卓、IOS、开发者工具也都能正常的显示了 ~ 总结一下这个问题应该就是Date.parse()在不同浏览器和设备上的偏差



作者:JoseWoo
链接:https://www.jianshu.com/p/cfbd97d31c39
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。