踩坑:小程序 new Date(“YYYY-MM-DD hh:mm:ss”)在ios手机上显示null

一、发现问题:

苹果手机上进入小程序,点击picker组件选择时间日期(YYYY-MM-DD hh:mm:ss),用new Date(“YYYY-MM-DD hh:mm:ss”)转化时间格式进行比较时,变量转化后的结果为null

二、解决方案:

let d1= (YYYY-MM-DD hh:mm:ss”).replace(/\-/g, '/') // ios和安卓手机统一格式
// let d1= (“YYYY-MM-DD hh:mm:ss”).replacereplace(/-/g, "/") // 或者
let d2 = new Date(d1) // 用转化后的d2去比较

三、分析并查找原因:

1.在IOS中,new Date中指定的字符串还有格式,new Date(“YYYY/MM/DD hh:mm:ss”),这样才能正确返回结果,要把 “ - ” 转换为 “ / ”
2.在安卓和IOS上的微信中的浏览器内核是不一样的,导致上面的安卓和IOS中new Date的差别
3.iOS new Date() 中不能包含 - 符号, ios中不支持 - 连接日期

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐