safari(苹果)浏览器计算天数时间差的兼容性问题
手头上有一个应用需要在safari浏览器中进行倒计时,一开始使用的是下面一个方法
function timeCount(){
var cTime=$("#time").attr("startTime");//取到的时间为 2018/09/07 16:59:40
var ts = (new Date(cTime)) - (new Date()); //计算剩余的毫秒数
var dd = parseInt(ts / 1000 / 60 / 60 / 24, 10); //计算剩余的天数
var h = parseInt(ts / 1000 / 60 / 60 % 24, 10); //计算剩余的小时数
var mm = parseInt(ts / 1000 / 60 % 60, 10); //计算剩余的分钟数
var ss = parseInt(ts/ 1000 % 60, 10); //计算剩余的秒数
dd = checkTime(dd);
hh = checkTime(h);
mm = checkTime(mm);
ss = checkTime(ss);
var restTime=mm*60*1000+ss*1000;
if(restTime>0){
$("#time").text(mm + ":" + ss);
window.setTimeout("timeCount()", 1000);
}else if(restTime<=0){
$("#time").text("00:00");
}
}
function checkTime(i) {
if (i < 10) {
i = "0" + i;
}
return i;
}
在谷歌浏览器上市正常的,但是一到safari上就起不了作用了,后来查了一下发现是safari浏览器不支持yyyy-mm-dd这种日期格式,换成yyyy/mm/dd,就没问题。所以手动添加了一个方法转换一下日期格式就可以正常运行了
function formatDate(time){
var date = new Date(Date.parse(time.replace(/-/g, "/")));
return date
}
浙公网安备 33010602011771号