setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数
now Date() 返回的是当前时间
Sun Mar 27 2022 20:44:22 GMT+0800 (中国标准时间)
getTime() 返回的是毫秒数
1648385062939
思路:先获取当前时间和设置结束时间 ,并转换成毫秒数,计算出开始时间和结束时间之间剩余的毫秒数,然后转换成天数,小时,分钟,秒数。
<script>
setInterval(function(){
var nowdate=new Date(); //获取当前时间
// console.log(nowdate); //返回当前时间
var nowtime=nowdate.getTime();
// console.log(nowtime); //返回毫秒数
var str="2022/12/21 08:30"; //设置结束时间
var enddate=new Date(str);
console.log(enddate);
var endtime = enddate.getTime();
var lefttime = endtime-nowtime; //计算剩余时间
var days=Math.floor(lefttime/1000/60/60/24); //计算天数 1s=1000毫秒
var hours=Math.floor(lefttime/1000/60/60%24);
var mins=Math.floor(lefttime/1000/60%60);
var miao=Math.floor(lefttime/1000%60);
// console.log(nowdate)
// console.log(days)
// console.log(hours)
// console.log(mins)
// console.log(miao)
//在body中输出字符
document.body.innerHTML=('<h1>'+"距离2022年12月21日8:30还剩:"+days+"天"+hours+"时"+mins+"分"+miao+"秒"+'</h1>')
},1000)
</script>