返回旧版| 微信建站| 我要建站 | 建站学习 | 加入收藏
JavaScript教程当前位置:首页 > HTML教程 > JavaScript教程 > 正文

ios下的浏览器new Date报错

发布时间:2020-03-25 11:36:55   来源:   点击:
移动端开放转换时间“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); 


 

版权所有:郑州腾石网络科技有限公司 备案信息:豫ICP备18019117号
站长QQ:2863868475 业务合作咨询:15137100750(同微信)
本站所有投放的广告是有其他网站提供,不代表本站立场,同时网站首页广告位对外出租详情咨询本站站长!同时欢迎广大站长加入个人建站团队
  • 建站客服
  • CMS仿站
  • CMS学习
  • 技术交流群:336572814