【代码】微信小程序在IOS中时间显示NaN的坑

2022-03-24 10:48:29  阅读 2627 次 评论 1 条

公司的一个微信小程序,模拟器上运行完全正常,在测试机(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

3333e484d0abbd87532a7583df6315d.jpg

奇怪的是,在真机调试也是没问题的,预览就有问题了,遂直接在控制台输出Date的值。

这个是手机上的

ca294a8fc1037f190527e94ec31e9f0.jpg

这个是模拟器上的

image.png

发现了什么问题没有,就是在IOS上Date居然是空的

于是只能去问万能的Google,发现,IOS是不支持yyyy-MM-dd格式的时间的。

既然不支持,那就转一下好啦。

转成yyyy/MM/dd的,就可以了。

到此,问题完美解决~



微信扫码查看本文
本文地址:https://www.yangguangdream.com/?id=2198
版权声明:本文为原创文章,版权归 编辑君 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. 前
    前  @回复

    学到了