运维系列&前端系列:IOS嵌套H5 对时间格式‘2020-10-05 10:29:33’不兼容的问题

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




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';
  }
}

底下评论

不用判断终端的,因为安卓也支持解析/连接方式







烟雨任平生╰

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值