new Date()在IOS上的兼容问题

今天遇到一个特别大的坑,让我郁闷了一下午,感谢后台和我的朋友李糖胡一直陪伴着我,帮我解决bug,这个坑是什么呢?是什么呢?是什么呢?

最近在做一个小程序里的一个活动功能,然后我想判断在11月30号18:00之后就不让用户请求某一个接口了,然后我就写了如下代码

const currentTime = new Date().getTime(); // 获取当前时间的时间戳
const stringTime = new Date('2018-11-30 18:00:00');
const time = new Date(stringTime).getTime(); // 2018年11月30号的时间戳
if (currentTime <= time) {
我在这里调接口
}

这代码有什么问题呢,一开始我把这个小程序上线了,结果上线之后测试时,一开始没有发现问题,因为要么是老用户(只有新用户才会出现我想要测试的结果),要么是安卓手机,后来李糖胡出现了,她的手机竟然没有出现正常的结果,紧接着后台说他朋友也有同样问题了,还是苹果手机,然后我就奇了怪了,为什么呢,经过我们的齐心协力,我发现会不会是我写的这个时间戳有问题,结果真的是有问题,不进行时间戳判断就好了。然后因为紧急情况我就先把时间判断去掉将小程序提交审核了。后来去网上搜了一下。

那么,问题出在哪里呢,那个2018-11-30 18:00:00,这种格式ios在getTime()时转换不了时间戳,所以要做兼容。。。

把格式写成2018/11/30 18:00:00就可以了。

你可能感兴趣的:(小程序)