Javascript Math.floor时间计算

时间:2017-01-27 14:21:00

标签: javascript math

可能是一个愚蠢的问题,但我正在制作一个倒计时脚本,我不能得到"周"倒计时工作。我做错了什么?

 // 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);

这似乎是一个计算问题,但我无法让它工作......

1 个答案:

答案 0 :(得分:1)

不应该这样:

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

是这个

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