关于ios手机Date对象的时间格式兼容问题

通常后台返回给前端的字符串的时间数据格式是这样的:2019-8-5 12:18:35 ,

要计算日期的时候需要把日期转换成时间戳才方便计算。

在安卓 chrome等浏览器,此格式可以直接传入到new Date(date)里,获取对应的日期,然后调用getTime方法,既可以获得相应时间的时间戳,像这样:

let date='2019-8-5 12:18:35'

let times=new Date(date).getTime()

console.log(times) //1564978715000

但是这个在各主流数浏览器和安卓都正常使用的方法,在ios端,会爆出各种NaN,查阅了好多文档,之后才发现,ios转换时间戳的时候对时间的数据格式是有要求的 2019-8-5 12:18:35 对于ios是无法识别的,必须转换成 2019/8/5 12:18:35 才可以正常获取时间对象,知道了问题所在,那就简单处理下时间格式字符串,即可(转换后的格式对于各主流浏览器和安卓来说也是可用的)

let date=' 2019-8-5 12:18:35'

let tdate=date.replace(/-/g,'/')

let times=new Date(tdate).getTime()

console.log(times) //1564978715000

 

posted on 2024-02-21 09:46  ranyonsue  阅读(85)  评论(0编辑  收藏  举报

导航