IOS嵌套H5 对时间格式‘2020-10-05 10:29:33’不兼容的问题

先看问题:
下边这段代码是 通过接口返回时间 ‘‘2020-10-05 10:29:33’ 转换成时间戳 然后跟当前时间的时间戳进行比较来控制按钮的显示

  startTimeStr = data[0].startTime
  endTimeStr = data[0].endTime
    
  startTime = new Date(startTimeStr).getTime();
  endTime = new Date(endTimeStr).getTime();
  if (nowDate < startTime) {
    $('.btnContainer .btnOne').show();
    $('.btnContainer .btnTwo').hide();
    $('.btnContainer .btnThree').hide();
    $('.btnContainer .btnOne').html(data[0].startTime + ' 开启')
  } else if (nowDate > endTime || data[0].sellOut) {
    $('.btnContainer .btnOne').hide();
    $('.btnContainer .btnTwo').hide();
    $('.btnContainer .btnThree').show();
  } else {
    $('.btnContainer .btnOne').hide();
    $('.btnContainer .btnTwo').show();
    $('.btnContainer .btnThree').hide();
  }

问题是 Android显示正常,但是ios会出现问题,打了很多debugger 并且很多文章最后发现 iOS对时间格式‘‘2020-10-05 10:29:33’不兼容,ios的识别格式是‘2020/10/05 10:29:33’。哭了
解决:

//当前时间
let nowDate = new Date().getTime();
//活动时间
let startTimeStr, endTimeStr, startTime, endTime
//处理ios时间格式
let judge = judgePhone();
 if (judge == 'S') {
   startTimeStr = data[0].startTime.replace(/\-/g, "/")
   endTimeStr = data[0].endTime.replace(/\-/g, "/")
 } else {
   startTimeStr = data[0].startTime
   endTimeStr = data[0].endTime
 }
 startTime = new Date(startTimeStr).getTime();
 endTime = new Date(endTimeStr).getTime();
 if (nowDate < startTime) {
   $('.btnContainer .btnOne').show();
   $('.btnContainer .btnTwo').hide();
   $('.btnContainer .btnThree').hide();
   $('.btnContainer .btnOne').html(data[0].startTime + ' 开启')
 } else if (nowDate > endTime || data[0].sellOut) {
   $('.btnContainer .btnOne').hide();
   $('.btnContainer .btnTwo').hide();
   $('.btnContainer .btnThree').show();
 } else {
   $('.btnContainer .btnOne').hide();
   $('.btnContainer .btnTwo').show();
   $('.btnContainer .btnThree').hide();
 }
function judgePhone() {
  var u = navigator.userAgent;
  var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1;
  var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  if (isAndroid) {
    return 'A';
  }
  if (isIOS) {
    return 'S';
  }
}

你可能感兴趣的:(JavaScript,HTML,javascript,jquery,html5)