写完项目测试的时候发现,用Android手机测试的时候,无论在预览或者真机调试的时候,时间总会正常显示,而用iOS的时候则只在真机调试的时候才会正常显示,预览的话出现NAN。
网查后才发现是因为iOS在日期格式上的处理方式和Android,微信开发者不同。而这个不同则会影响到如new data()的使用。
date=new Date(‘2021-07-08).getTime();在Android和微信小程序开发者上是正常的,在iOS上就会呈现NAN
iOS只支持2021/07/08,不支持2021-07-08这样的格式,而现在很多后端处理日期的格式是2021-07-08,发送过来的,或者自己小程序前端生成的也是这种格式。
要解决这种问题,那就的把时间格式转换后使用。
1.写个方法来转换格式
formatTime(time){
// 输入:2021-07-08
// 输出:2021/07/08
if (!time) return "--"
let ts = time.split(" ")
return ts[0].split("-").join("/") + " " + ts[1].slice(0, 5)
}
2.使用replace方法来转换
time = timesss.replace(/-/g, '/') // 输入:2021-07-08 输出:2021/07/08
觉得第二个好用,不麻烦 闭眼打键盘