公司的一个微信小程序,模拟器上运行完全正常,在测试机(Android)里面运行也正常,时间神马的都正常显示,可是,到了我自己的IOS设备的时候,时间就成了NaN-NaN-NaN NaN:NaN:NaN 各种的NaN....
1、解决方法
当时我的日期是这么转换的
//dtlist是API接口返回的数据集合,这个是在for里面的 dtlist[i].createon=dtlist[i].createon;//2022-03-24 10:53:12.3 dtlist[i].modifyon=dtlist[i].modifyon;//2022-03-24 10:53:12.3 let createon = new Date(dtlist[i].createon);//日期字符串转日期对象 let modifyon= new Date(dtlist[i].modifyon);//日期字符串转日期对象
原因:由于IOS不支持yyyy-MM-dd的字符串,所以,转换出的Date对象是空的,也就是无法转换。
解决:
//就是把yyyy-MM-dd的时间转换成yyyy/MM/dd就可以了,也可以在API中进行修改 //let createon = new Date(dtlist[i].createon); //let modifyon= new Date(dtlist[i].modifyon); let createon = new Date(dtlist[i].createon.replace(/\-/g, "/")); let modifyon= new Date(dtlist[i].modifyon.replace(/\-/g, "/"));
2、解决过程
Android上面和模拟器上面没问题,IOS上面日期显示NaN
奇怪的是,在真机调试也是没问题的,预览就有问题了,遂直接在控制台输出Date的值。
这个是手机上的
这个是模拟器上的
发现了什么问题没有,就是在IOS上Date居然是空的
于是只能去问万能的Google,发现,IOS是不支持yyyy-MM-dd格式的时间的。
既然不支持,那就转一下好啦。
转成yyyy/MM/dd的,就可以了。
到此,问题完美解决~
微信扫码查看本文
发表评论