JS 實現倒計時功能(天,時,分,秒),以及當天倒計時


 

1.給定任意一個時間,然后實現現在到那個時間的倒計時。

下面的例子是顯示現在到2021年1月1號0時0分的倒計時:

function showTime() {
    //獲取目的日期
    var myyear = 2021; //
    var mymonth = 1 - 1; //月 只需要填寫 - 前面的數字,這里是八月
    var myday = 0; //
    var myhour = 00; //
    var myminute = 00; //
    var mysecond = 00; //
    //以上綜合填入的時間是 2021年1月1號0時0分;
    var time = Number(new Date(myyear, mymonth, myday, myhour, myminute, mysecond));
    // var time=new Date(myyear,mymonth,myday,myhour,myminute,mysecond).getTime();
    //獲取當前時間
    var nowTime = Date.now();
    // var nowTime = new Date().getTime();
    //獲取時間差
    var timediff = Math.round((time - nowTime) / 1000);
    //獲取還剩多少天
    var day = parseInt(timediff / 3600 / 24);
    //獲取還剩多少小時
    var hour = parseInt(timediff / 3600 % 24);
    //獲取還剩多少分鍾
    var minute = parseInt(timediff / 60 % 60);
    //獲取還剩多少秒
    var second = timediff % 60;
    //輸出還剩多少時間
    console.log(timerFilter(day)+"天"+timerFilter(hour)+"時"+timerFilter(minute)+"分"+timerFilter(second)+"秒")
    setTimeout(showTime, 1000);
    
    //給小於10的數值前面加 0 
    function timerFilter(params) {
        if (params - 0 < 10) {
            return '0' + params
        } else {
            return params
        }
    }

}

 

 2.當前時間到當天23:59:59倒計時。(按F12在控制台執行函數就可以見到效果)

function showLeft() {
    //獲取當前時間
    var nowTime = Date.now();
    // var nowTime = new Date().getTime();
    //獲取當天 23:59 
    var endTime = new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1
    //獲取時間差
    var timediff = Math.round((endTime - nowTime) / 1000);
    //獲取還剩多少小時
    var hour = parseInt(timediff / 3600 % 24) + parseInt(timediff / 3600 / 24) * 24;
    //獲取還剩多少分鍾
    var minute = parseInt(timediff / 60 % 60);
    //獲取還剩多少秒
    var second = timediff % 60;
    //輸出還剩多少時間
    hour = timerFilter(hour);
    minute = timerFilter(minute);
    second = timerFilter(second);

    console.log(hour + "時" + minute + "分" + second + "秒")
    setTimeout(showLeft, 1000);
    
    //給小於10的數值前面添加 0 
    function timerFilter(params) {
        if (params - 0 < 10) {
            return '0' + params
        } else {
            return params
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM