2012-02-15 65 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