从8月1号开始到12月31号结束,
求当前时间到每个周二早上9点钟的一个倒计时
其实你这个问题主要就是目标时间与当前时间差的问题。
目标时间你是可以计算出来的,规定一个初始时间,7天为一个循环;而当前时间你可以直接从服务器获取。
下面简单写了一段,你可以试试:
//目标时间规定
var newTimer = new Date("2016/08/02 09:00:00");
newTimer = newTimer.getTime();
function time() {
//当前时间获取(可以从服务器获取)
var nowTimer = new Date();
nowTimer = nowTimer.getTime();
//如果当前时间大于目标时间,则加上一周;直到目标时间大于当前时间
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 + '秒')
}
}
//定时器循环
timer = window.setInterval(function () {
time();
}, 1000);
至于你要的到12月31日停止这个问题,做个判断把定时器干掉就ok了!
8 回答5.1k 阅读✓ 已解决
6 回答3.9k 阅读✓ 已解决
5 回答3.1k 阅读✓ 已解决
9 回答3.4k 阅读
5 回答6.7k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决