场景

后端返回了一个工夫字符串,形如:'2020-09-09 hh:mm:ss',而后前端业务须要判断以后工夫是否大于/小于这个工夫,于是就有了这样一个比拟:

let date = new Date()if(date < new Date(res.endTime) && date > new Date(res.startTime)) {    // do something}

然而这在安卓上运行失常,可是测试的时候在IOS上报错了。查阅一番得悉,IOS不反对这种格局'2020-09-09 hh:mm:ss'new Date(),它只反对'2020/09/09 hh:mm:ss'这样的,而安卓下应用new Date()则两种格局都反对。

解决

把后端返回的工夫格局转换一下,把'-'替换成'/'

// ios下-工夫格式化不了,ios下把-替换为/export function initIosTime (val) {  if (isIOS()) {    return val.replace(/\-/g, '/').replace('.0', '')  }  return val}