废话不多说,先看下图,这是线上版本的小程序,ios端无法显示时间相关计算后的数字,要么出现NAN或者null:
然后我将ios手机中的微信小程序,而且是开发版的 “打开调试” 打开了。
PS : 如果该小程序开发版打开了调试框且已经发布到线上或者体验版的话,该调试框也会出现。
日志中我也写了一些相关计算时间的代码,打印后台看看:
//正常的时间格式
let date = "2022-03-21";
console.log(date);
console.log(date,"转换:",Date.parse(new Date(date)));
console.log(date + ' 12:00', "转换:",Date.parse(new Date(date + ' 12:00')));
//时间转换格式将 - 转成 /
let date2 = date.replace(/-/g, '/');
console.log(date2);
console.log(date2,"转换:",Date.parse(new Date(date2)))
console.log(date2 + ' 12:00',"转换: ",Date.parse(new Date(date2 + ' 12:00')));
首先给你们看开发环境真机调试的时间显示图片,开发版本是正常的:
然后给你们看已经发布到线上或者体验版的显示,不过有时候体验版显示是正常的,最好是以线上版本为主!如下图:
出现问题:
1. 图中可以看到ios端正常格式的日期可以正常转换,但是它的时间戳好像不准确!!!像是丢失精度。
2. 加上了具体的时间后,它转换就变成NAN了。
解决:
这是微信小程序的一个BUG吧
ios端不支持时间 yyyy-MM-dd hh:mm:ss ,它支持 yyyy/MM/dd hh:mm:ss 格式
计算相关时间记得先要转换一下时间的格式,避免发布线上版本出现事故