JavaScript-----页面显示倒计时

目录

一、倒计时效果

       1.核心算法

       2.用时间戳来做

二、转换公式

三、主要代码

四、效果展示


一、倒计时效果

       1.核心算法

        输入的时间减去现在的时间就是剩余的时间(剩余时间毫秒数 转换为 剩余时间的 年月日时分秒),即倒计时 。但是,不能拿着时分秒相减,比如 05 分减去25分,结果会是负数的。

       2.用时间戳来做

       用户输入时间总的毫秒数减去现在时间的总的毫秒数,得到的就是剩余时间的毫秒数。

       比如 将来时间戳 2000ms - 现在的时间戳 10000ms = 10000ms。1000ms转换为就是0小时0分1秒。

        获取时间戳有三种方法 geiTime()       简写 +new Date()       Date.now()

       3.把剩余时间总的毫秒数转换为天、时、分、秒 (时间戳转换为时分秒)

二、转换公式

如下:

    d = parseInt(总秒数/ 60/60 /24);    //  计算天数
    h = parseInt(总秒数/ 60/60 %24);    //   计算小时
    m = parseInt(总秒数 /60 %60 );      //   计算分数
    s = parseInt(总秒数%60);            //   计算当前秒数

    var nowTime = new Date();//获取当前系统时间
    var endTime = new Date('2022-6-26');//定义结束的时间
    var time = endTime.getTime() - nowTime.getTime();//距离结束时间的毫秒数
    console.log(time);
    var day = Math.floor(time/(1000*60*60*24));//计算天数
    console.log(day);
    var hour = Math.floor(time/(1000*60*60)%24);//计算小时
    console.log(hour);
    var minute = Math.floor(time/(1000*60)%60) //计算分钟
    console.log(minute);
    var seconds = Math.floor(time/1000%60) //计算秒数
    console.log(seconds);

效果显示 :

三、主要代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
		<script type="text/javascript">
			// var nowTime = new Date();//获取当前系统时间
			// var endTime = new Date('2022-6-30');//定义结束的时间
			// var time = endTime.getTime() - nowTime.getTime();//距离结束时间的毫秒数
			// console.log(time);
			// var day = Math.floor(time/(1000*60*60*24));//计算天数
			// console.log(day);
			// var hour = Math.floor(time/(1000*60*60)%24);//计算小时
			//  console.log(hour);
			//  var minute = Math.floor(time/(1000*60)%60) //计算分钟
			//  console.log(minute);
			//  var seconds = Math.floor(time/1000%60) //计算秒数
			//  console.log(seconds);
			
			function showtime(){
				var nowTime = new Date();//获取当前系统时间
				var endTime = new Date('2022-6-30');//定义结束的时间
				var time = endTime.getTime() - nowTime.getTime();//距离结束时间的毫秒数
				// console.log(time);
				var day = Math.floor(time/(1000*60*60*24));//计算天数
				// console.log(day);
				var hour = Math.floor(time/(1000*60*60)%24);//计算小时
				 // console.log(hour);
				 var minute = Math.floor(time/(1000*60)%60) //计算分钟
				 // console.log(minute);
				 var seconds = Math.floor(time/1000%60) //计算秒数
				 // console.log(seconds);
				 
				 return '倒计时:' + day + '天 ' + hour + ':' + minute + ':' + seconds;
			}
			 
			 window.onload=function(){
				 //获取下面的div标签节点
				 var div  =document.getElementById('showtime');
				 setInterval(function(){
					 div.innerHTML= showtime();
				 },1000)//设置定定时器 每隔1000毫秒反复执行 showtime函数
			 }
			 
		</script>
		
		<div id="showtime"></div>
		
	</body>
</html>

四、效果展示

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值