JavaScript倒計時效果

核心算法:

  1. 輸入的時間減去如今的時間就是剩餘的時間,可是不能拿着時分秒相減,好比05分減去25分,結果會是負的。
  2. 能夠用時間戳來作,用戶輸入時間總的毫秒數減去如今時間的總的毫秒數,獲得的就是剩餘時間的毫秒數。
  3. 把剩餘時間總的毫秒數轉換爲天、時、分、秒 (時間戳轉換爲時分秒)。
  4. 轉換公式以下:
d = parseInt(總秒數/60/60/24);     //   計算天數
  h = parseInt(總秒數/60/60 %24)     //   計算小時
  m = parseInt(總秒數/60%60);        //   計算分數
  s = parseInt(總秒數%60);           //   計算當前秒數

代碼實現:

function countDown(time) {
    var nowTime = +new Date(); // 返回的是當前時間總的毫秒數
    var inputTime = +new Date(time); // 返回的是用戶輸入時間總的毫秒數
    var times = (inputTime - nowTime) / 1000; // times是剩餘時間總的秒數 
    var d = parseInt(times / 60 / 60 / 24); // 天
    d = d < 10 ? '0' + d : d;
    var h = parseInt(times / 60 / 60 % 24); //時
    h = h < 10 ? '0' + h : h;
    var m = parseInt(times / 60 % 60); // 分
    m = m < 10 ? '0' + m : m;
    var s = parseInt(times % 60); // 當前的秒
    s = s < 10 ? '0' + s : s;
    return d + '天' + h + '時' + m + '分' + s + '秒';
}
console.log(countDown('2020-10-9 00:00:00'));  //設置的倒計時截止日期爲2020年10月9日00點

輸出結果:

02天03時08分44秒
相關文章
相關標籤/搜索