new Date在IOS下面的兼容问题

此问题坑爹啊,着实坑爹,要不是本宝宝鬼机灵再次进行了测试,不然测试都测不出来的问题,问题源头,有两个时间:

let start =  "2018-08-08 00:00:00" ; let end= "2018-09-28 24:00:00" ;进行用 new Date(start).getTime()获取时间戳时候,安卓下面正常,IOS下面死活是NaN,百度大多给的方案是:

new Date("2010-03-15 10:30:00".replace(/-/g,'/')).getTime();  我相信了你,而你确实不对的!!

这个正则意思是:IOS下面时间的转换兼容格式应该是:  "2018/08/08 00:00:00"  Wrong!!!我用我多年的iphone6测试过了,仍然是NaN。。。。

后有人解释到:

This work okay in chrome but not in safari. The mdn talks about ECMAScript 5 ISO-8601 format support says:

Alternatively, the date/time string may be in ISO 8601 format. For example, "2011-10-10" (just date) or "2011-10-10T14:48:00" (date and time) can be passed and parsed.
 
因此我把中间的空格换成了T,
let start =  "2018-08-08T00:00:00" ;  new Date(start).getTime(),妥妥的有值了,至此问题解决!我想有关安卓和IOS下面的兼容性问题集锦中又多了一条!
 
【完】
南无本师释迦牟尼佛
南无本师释迦牟尼佛
南无本师释迦牟尼佛
posted @ 2018-08-10 14:17  tangjiao_Miya  阅读(429)  评论(1编辑  收藏  举报