近期做项目遇到new Date()处理后的时间节点在ios端显示为null的问题,经排查发现:ios端不兼容“-”为连接符的时间。

        在安卓和IOS上的微信中的浏览器内核是不一样的,这也会导致上面的安卓和IOS中new Date的差别:

  安卓6.1版本以上都是使用QQ浏览器的X5内核,5.4-6.1之间的版本如果安装了QQ浏览器的话就是使用X5内核,如果没安装,就是使用的系统内核

  IOS有两种,一种是WKWebview,一种是UIWebview,从IOS8版本开始支持WKWebview

        安卓系统可兼容两种格式, ios 系统仅支持 2023/07/25 10:13:21 格式

let str = '2023-07-23 10:13:21' // 这种格式 ios 不兼容使用 new date() ==> NaN
str = str.replace(/\-/g, '/') // 兼容ios '2019/11/09 10:13:21'
let iosstr = '2023/07/23 10:13:21' // 兼容ios写法

         ☆☆解决☆☆

1. 将这个时间字符串转换成标准时间格式: Tue May 25 2023 14:06:15 GMT+0800 (中国标准时间)

2.

let str = '2023-07-25 10:13:21'

str = str.replace(/\-/g, '/')   ===》 转为  2023/07/25 10:13:21

new Date(str)

// new Date(data.exTimeEnd.replace(/-/g, "/")).getTime()

Logo

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

更多推荐