关于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