微信小程序获取当时时间new Date时,会在ios真机上出现问题,具体表现为时间格式会报错并显示出NaN。这个bug并不会在模拟器和安卓系统出现,只会在ios系统上出现,具体原因是ios不支持符号‘-’,所以常规的‘2020-01-01’ 的日期格式会报错。具体解决方案为:
1. 将符号’-‘替换成’/'
这是网上大多数给出的解决方案,将时间格式换成’2020/01/01’ 的方式显示,具体操作方法是:
let oldTime = '2020-01-01'
let newTime = oldTime.replace(/-/g, '/')
这种方法是将ios不能识别的’-'替换,用其他格式来显示。
2. 截取字符串
除了上面这种方法还有一种方法也亲测有效,那就是截取字符串,这种方式可以保留时间格式中的’-'符号,就是看起来比较暴力一点
let oldTime = '2020-01-01'
let newTime = ${oldTime.substr(0, 10)}
ps:第二种方法要保证,月份和日期为个位数时,十分位要补个0,才能正常使用。
以上就是微信小程序解决ios端时间格式兼容问题的两种方式,希望能够帮到大家。