Javascript Math.floor time calculcation


这可能是

一个愚蠢的问题,但我正在制作倒计时脚本,我无法让"周"倒计时工作。我做错了什么?

// Set the date we're counting down to
var countDownDate = new Date("Jun 23, 2017 19:00:00").getTime();
// Update the count down every 1 second
var x = setInterval(function() {
  // Get todays date and time
  var now = new Date().getTime();
  // Find the distance between now an the count down date
  var distance = countDownDate - now;
  // Time calculations for days, hours, minutes and seconds
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  var weeks = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 7));
  var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
  var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
  var seconds = Math.floor((distance % (1000 * 60)) / 1000);
  
  document.getElementById("weeks").innerHTML = weeks + " Weeks";
  document.getElementById("days").innerHTML = days + " Days";
  document.getElementById("hours").innerHTML = hours + " Hours";
  document.getElementById("minutes").innerHTML = minutes + " Minutes";
  document.getElementById("seconds").innerHTML = seconds + " Seconds";
  
  
    document.getElementById("hms").innerHTML = hours + ":"
  + minutes + ":" + seconds + "";
  
  // If the count down is finished, write some text 
  if (distance < 0) {
    clearInterval(x);
    document.getElementById("weeks").innerHTML = "Sorry!";
  document.getElementById("days").innerHTML = "No";
  document.getElementById("hours").innerHTML = "New";
  document.getElementById("minutes").innerHTML = "Possible";
  document.getElementById("seconds").innerHTML = "Date";
  }
}, 1000);

我一定在某处使用了错误的计算。谁能告诉我我做错了什么?

不应该这样:

var weeks = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 7)); 

是这个

var weeks = Math.floor((distance / (1000 * 60 * 60 * 24 * 7)));

最新更新