ios中 safari浏览器,js时间操作getTime(),getFullYear()等返回显示NaN的解决办法 您所在的位置:网站首页 vue时间格式兼容sfari ios中 safari浏览器,js时间操作getTime(),getFullYear()等返回显示NaN的解决办法

ios中 safari浏览器,js时间操作getTime(),getFullYear()等返回显示NaN的解决办法

2024-01-29 11:14| 来源: 网络整理| 查看: 265

查了下原因大概是:在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象。 但是在IOS5版本里面的Safari解释new Date('2019-5-21') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date"。 后来我在网上查找了资料,原来是低版本的Safari解释new Date(''2019-5-21')这个对象不一样,在IOS5中的Safari不支持这种写法,而它支持的写法为new Date('2019','5','21'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来了。 但是随之而来的问题有出现了,Date是返回过来了,可是这个Date对象中方法返回的数据可不是我想要的,返回的数据全都不正确。 现在返回过来的Date对象.getMonth()总要比正常的要多一个月!还有.getDay()返回的星期几也不正确!

自己试了一下IOS5以上的new Date("2019-5-21")没问题了,但是去掉用getTime()时还是得到NaN

解决方法:

 

所以想要正确显示时间在iOS上,应该这么写

new Date("2019-5-21 20:30:00".replace(/-/g,'/')).getTime(); // 解决了问题!!

当然getFullYear() ,getMonth(),getDate()已需要这样写:

new Date("2019-5-21 20:30:00".replace(/-/g,'/')).getFullYear()

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有