1 回答

TA貢獻1895條經(jīng)驗 獲得超7個贊
其實你這個問題主要就是目標(biāo)時間與當(dāng)前時間差的問題。
目標(biāo)時間你是可以計算出來的,規(guī)定一個初始時間,7天為一個循環(huán);而當(dāng)前時間你可以直接從服務(wù)器獲取。
下面簡單寫了一段,你可以試試:
//目標(biāo)時間規(guī)定
var newTimer = new Date("2016/08/02 09:00:00");
newTimer = newTimer.getTime();
function time() {
//當(dāng)前時間獲取(可以從服務(wù)器獲取)
var nowTimer = new Date();
nowTimer = nowTimer.getTime();
//如果當(dāng)前時間大于目標(biāo)時間,則加上一周;直到目標(biāo)時間大于當(dāng)前時間
while (newTimer<=nowTimer){
newTimer = newTimer + 7 * 24 * 60 * 60 * 1000;
}
//以下為時間計算顯示
var spanTimer = newTimer - nowTimer;
if (spanTimer > 0) {
var day = Math.floor(spanTimer / 86400000);
spanTimer -= day * 86400000;
var hour = Math.floor(spanTimer / 3600000);
spanTimer -= hour * 3600000;
var minute = Math.floor(spanTimer / 60000);
spanTimer -= minute * 60000;
var second = Math.floor(spanTimer / 1000);
console.log(day + '天' + hour + '時' + minute + '分' + second + '秒')
}
}
//定時器循環(huán)
timer = window.setInterval(function () {
time();
}, 1000);
至于你要的到12月31日停止這個問題,做個判斷把定時器干掉就ok了!
添加回答
舉報