1. 问题描述
Android和iOS在日期格式上的处理方式有所不同,这个不同也影响到小程序的相关日期时间函数,最常用的应该是new Date()了。如下代码:
date=new Date('2021-03-06 22:00:00').getTime();
上述代码在Android和开发者工具(windows/mac)以及开发者工具的真机调试模式(iOS/Android)都不会有问题,但是在体验版或者正式版的iOS手机上你获取到的数据date是null。
2. 问题产生的原因
因为iOS支持2021/03/06 这种日期格式,不支持2021-03-06这样的格式。由于后端处理日期的格式是2021-03-06或者自己小程序前端生成的也是这种格式,new Date()就会出现兼容性问题。
3.解决办法
小程序中统一使用2021/03/06这种格式的字符串,2021-03-06这样的格式时可以利用replace来处理时间格式
var reg = /-/g;
time = time && thime.rplace(reg,'/')