簡體   English   中英

倒數計時器的問題

[英]Problems with countdown timer

我正在制作一個倒數計時器,以計算特殊事件。 代碼運行正常,但一天算錯了。 我認為該代碼不會從日期中獲取 h 值,但我不知道如何使其工作。 我認為這是錯誤的幾個小時。 我的本地時間是UTC+01:00

var eventDay = new Date("Feb 30, 2019 10:00:00").getTime();
var distance = setInterval(function () {
    var now = new Date().getTime();
    var distance = eventDay - now;
    var days = Math.floor(distance / (1000 * 60 * 60 * 24));
    var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60 * 24));
    var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
    var sec = Math.floor((distance % (1000 * 60)) / 1000);
    document.getElementById("days").innerHTML = days;
    document.getElementById("hours").innerHTML = hours;
    document.getElementById("minutes").innerHTML = minutes;
    document.getElementById("sec").innerHTML = sec;
}, 1000);

要達到預期的結果,請使用以下選項

  1. 對於正確的小時數,應使用(1000 * 60 * 60)而不是 (1000 * 60 * 60 *24),因為小時數計算是錯誤的,(目前小時數是用天數計算的)

  2. 為缺少的日期添加 +1,因為計算不包括開始日期和結束日期

 var eventDay = new Date("Feb 28, 2019 10:00:00").getTime(); var distance = setInterval(function(){ var now = new Date().getTime(); var distance = eventDay - now; var days = Math.floor(distance / (1000 * 60 * 60 * 24)) + 1; var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var sec = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("days").innerHTML = days; document.getElementById("hours").innerHTML = hours; document.getElementById("minutes").innerHTML = minutes; document.getElementById("sec").innerHTML = sec; }, 1000);
 <span id="days"></span>d <span id="hours"></span>h <span id="minutes"></span>m <span id="sec"></span>s

代碼筆 - https://codepen.io/nagasai/pen/JwxNRg

你的問題是在這一行

var godziny = Math.floor((pozostalyCzas % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60 * 24));

你應該把它改成這個

var godziny = Math.floor((pozostalyCzas % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM