6 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超6個(gè)贊
舉個(gè)栗子:當(dāng)前時(shí)間09:01:01, 目標(biāo)時(shí)間10:59:59
按照你的計(jì)算方法,剩余秒數(shù)和分鐘數(shù)是會(huì)超過(guò)60的。但是超過(guò)60,在數(shù)學(xué)上應(yīng)該進(jìn)位的,你少了進(jìn)位操作。
再舉個(gè)栗子,十進(jìn)制里面,計(jì)算減法計(jì)算,是 個(gè)、十、百分開計(jì)算的么?
附上自己的代碼:
const hours = parseInt(remainTime / 3600 / 1000); // 剩余小時(shí)
const min = parseInt((remainTime - (hours*3600*1000)) / 60 / 1000); // 剩余分鐘
const second = parseInt((remainTime - (hours*3600*1000) - (min*60*1000)) / 1000); // 剩余秒

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
function formatTime(t){
t=t.toString();
return t[1] ? t : '0'+t
}
function countDown(t){
var maxTime=(new Date(t).getTime())-Date.now();
if(maxTime>0){
var h=parseInt(maxTime/(60*60*1000));
var m=parseInt(maxTime/(60*1000)%60);
var s=parseInt(maxTime/(1000)%60);
var time=[h,m,s].map((el)=>formatTime(el)).join(':');
console.log(time)
setTimeout(countDown,1000,t);
}else{
console.log('timeout')
}
}
countDown('2018-04-17 18:00:00');
添加回答
舉報(bào)