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