苹果手机new Date()时候的坑 ios new Date时为NAN

深渊向深渊呼唤

苹果手机new Date()时候的坑

最近开发H5小游戏,有一个游戏活动倒计时,后端给我返回的活动结束时间为(2021-01-13 12:00:00)这种格式,我需要获取当前本地时间,用活动结束时间减去当前时间,那么我得先转为时间戳,我先将后端返回的时间通过 new Date("2021-01-13 12:00:00") 复原,在使用getTime()转为时间戳,再将我们当前时间转为时间戳,通过结束时间的时间戳减去当前时间的时间戳,获得相差的时间,在转为 时分秒(01:15:10)。

在电脑端f12正常测试没问题,安卓也没问题,但是到ios端相减后的结果为NAN,就一处一处寻找,最终找到问题所在,ios和安卓不一样,ios不支持 2021-01-03这种,需要将“-”换为“/”即可。

方案如下,直接正则替换即可

new Date("2021-01-13 12:00:00".replace(/-/g, "/"));

替换完成之后,就可以正常使用,完美解决了问题。

原文围观地址 http://sharedblog.cn/post/214.html

个人博客http://sharedblog.cn/

软件下载http://iqzhan.com/

栏目