2012-02-15 66 views
0

我不确定如何去做这件事,但我想倒数到每个星期天。然后在星期一上午12点再次开始倒数计时。我正在使用此代码作为倒计时,但现在我已手动输入倒计时日期。如何自动倒计时到星期日

var end = new Date('15 Feb 2012 06:40:00'); 
var _second = 1000; 
var _minute = _second * 60; 
var _hour = _minute * 60; 
var _day = _hour * 24; 
var timer; 

    function showRemaining() { 
     var now = new Date(); 
     var distance = end - now; 
     if (distance < 0) { 
      clearInterval(timer); 
      alert('Expired'); 
      return; 
     } 
     var days = Math.floor(distance/_day); 
     var hours = Math.floor((distance % _day)/_hour); 
     var minutes = Math.floor((distance % _hour)/_minute); 
     var seconds = Math.floor((distance % _minute)/_second); 

     document.getElementById('countdown').innerHTML = 'Days: ' + days + '<br />'; 
     document.getElementById('countdown').innerHTML += 'Hours: ' + hours + '<br />'; 
     document.getElementById('countdown').innerHTML += 'Minutes: ' + minutes + '<br />'; 
     document.getElementById('countdown').innerHTML += 'Seconds: ' + seconds + '<br />'; 
    } 

    timer = setInterval(showRemaining, 1000);​ 

回答

2

你总是可以得到下个星期天是这样的:

var today = new Date(); 
var sunday = new Date(today.getFullYear(),today.getMonth(),today.getDate()+(7-today.getDay())); 
+0

太棒了!所以如果我把它添加到我的代码中,就像'var end = new Date(星期日);'它会在星期日停止并且星期一再次启动?或者如果我在星期日刷新页面,它会开始倒计时到下一个星期天? – bammab 2012-02-15 15:00:39

+0

这会让你在星期天的00:00:00,所以如果你想结束一天,你会想要23:59:59。因此:'var sunday = new Date(today.getFullYear(),today.getMonth(),today.getDate()+(7-today.getDay()),23,59,59);' – derekaug 2012-02-15 15:08:44