问题
在安卓手机上能够正常显示,在苹果手机上不能正常显示
源时间格式
时间格式采用的是ISO-8601标准格式
2020-05-30T14:22:12.000+0000
问题根源
new Date()
参数日期格式支持的差异化问题
在安卓系统中,直接传入标准格式字符串,就可以转换为Date格式数据
// 安卓手机下
let date = '2020-05-30T14:22:12.000+0000'
let newDate = new Date(date)
newDate //Sat May 30 2020 22:22:12 GMT+0800 (中国标准时间)
在苹果系统中不支持上述格式
只支持2020-05-30T14:22:12.000+00:00
,+号后面代表的是时区,苹果只支持00:00,不支持0000的方式
解决办法
先将字符串日期做一个替换。替换成 2020-05-30T14:22:12.000+00:00形式。
let date = '2020-05-30T14:22:12.000+0000'
let iosDate= date.replace(/(\+\d{2})(\d{2})$/, "$1:$2") //2020-05-30T14:22:12.000+00:00
let newDate = new Date(iosDate)
newDate //Sat May 30 2020 22:22:12 GMT+0800 (中国标准时间)
最后 🙌
好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~
网友评论