在开发过程性需要针对开始时间和结束时间做时间大小判断,控制开始时间<=结束时间。
代码:
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 }