微信小程序中的日期格式在Android和iOS真机下兼容性问题

292 阅读1分钟

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,'/')