关于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   ranyonsue  阅读(105)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2019-02-21 函数参数中的中括号代表什么

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示