微信小程序在ios下时间戳转换失败

在开发过程性需要针对开始时间和结束时间做时间大小判断,控制开始时间<=结束时间。

代码:

 1 // 时间大小比较
 2 function appCompareTimeCom(timestart, timeend) {
 3   let startTime= new Date(Date.parse(timestart))
 4   let endTime=new Date(Date.parse(timeend))
 5   if(startTime>endTime) {
 6     wx.showToast({title: '开始时间不能大于结束时间!',icon: 'none'})
 7     return false
 8   } else {
 9     return true
10   }
11 }

 发现在电脑和安卓机下,都可以正常检测。但是在ios下,就不能正常检测。经过打印分析,

new Date(Date.parse(timestart))输出的时间戳是空,因此猜测是ios下,不能识别new Date(Date.parse())语法。

经过了解发现:ios的时间格式必须为 2018/12/17,所以-必须都替换为/
解决方案代码如下:
 1 // 时间大小比较
 2 function appCompareTimeCom(timestart, timeend) {
 3   // 由于ios不支持YYYY-MM-dd的写法,所以-必须都替换为/
 4   // let startTime= new Date(Date.parse(timestart))
 5   // let endTime=new Date(Date.parse(timeend))
 6   let startTime = new Date(Date.parse(timestart.replace(/-/g, '/')))
 7   let endTime = new Date(Date.parse(timeend.replace(/-/g, '/')))
 8   if(startTime>endTime) {
 9     wx.showToast({title: '开始时间不能大于结束时间!',icon: 'none'})
10     return false
11   } else {
12     return true
13   }
14 }
原文地址:https://www.cnblogs.com/luoxuemei/p/13139773.html