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 } } }