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';
}
}
底下评论
不用判断终端的,因为安卓也支持解析/连接方式