QQ咨询 官方微信

添加微信好友

官方小程序

百度小程序

微信小程序

头条小程序

关于我们

js教程

ios下的浏览器new Date报错

 admin  2020-03-25 11:40:02
移动端开放转换时间“2020-03-25”时候,在安卓系统下正常转换,但是在ios系统下,直接报错,返回"Invalid Date"。原因就是ios下对这种格式支持不是很友好。

  1. 原因:低版本的Safari解释new Date('2013-10-21')这个对象不一样,在IOS5中的Safari不支持这种写法, 
  2.  而它支持的写法为new Date('2013','10','21'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来了。 
  3.   
  4.  但是随之而来的问题有出现了,Date是返回过来了,可是这个Date对象中方法返回的数据可不是我想要的,返回的数据全都不正确。具体是什么原因我也不太清楚,还请知道原理的大虾们指点下! 
  5.   
  6.  现在返回过来的Date对象.getMonth()总要比正常的要多一个月!还有.getDay()返回的星期几也不正确!╮(╯▽╰)╭懊恼啊,折磨啊。。。。 
  7.   
  8.  原来想要IOS5中的Safari能正确解析new Date()那么必须这么写 
  9.  new Date('2013/10/21'); 

填坑代码记录:

  1. if(!isEmpty(timestamp) && timestamp.indexOf("-") >-1) 
  2.     timestamp = timestamp.replace(new RegExp(/-/gm) ,"/");//解决ie,ios下invalid date问题 
  3.     var date = new Date(timestamp); 


 

¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

本文《ios下的浏览器new Date报错》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/html/JavaScript/801.html,否则禁止转载,谢谢配合!

文章点评

我来说两句 已有0条评论
点击图片更换

添加微信好友

添加微信好友

微信小程序

百度小程序