JavaScript时间戳

本文介绍了JavaScript中时间戳的概念,它是当前时间与1970年1月1日0点之间的毫秒差。时间戳常用于计算时间差,如在秒杀倒计时场景,通过比较秒杀开始时间与当前时间的时间戳,可以计算剩余时间并转化为直观的天、小时、分钟和秒。文中还提及了一个简单的电子时钟页面示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在JavaScript程序中,所谓的时间戳指的是当前时间和格林尼治时间——1970年1月1日,0点0分0秒,相差的毫秒数
简单理解,就是从格林尼治时间——1970年1月1日,0点0分0秒,到现在过了多少毫秒

var d = new Date();
var times = d.getTime();
console.log(times);//输出结果为1585057457894(以个人情况为准)

实际用途中,时间戳往往用于计算时间,来衡量时间差
例如 : 秒杀倒计时,假设秒杀是4月1日0点0分0秒开始,那么4月1日0点0分0秒这个时间有时间戳,当前时间也会有时间戳。两个时间戳相减,结果是两个时间之间的时间差,单位是毫秒。再将这个毫秒转化为天、小时、分钟、秒、得出想要的结果

var end = new Date('2020-4-1 0:0:0');//获取指定时间的时间对象, Date()参数是要获取的时间的字符串,'年-月-日 空格 小时:分钟:秒'
var start = new Date();//当前的时间对象,没有参数,获取当前时间对象

//步骤①:计算时间差,应该是最终的时间的时间戳,减去当前时间的时间戳。时间单位是毫秒,需要转化为秒。1秒=1000毫秒,转化的秒数是小数,只要整数部分取整
var times = parseInt( ( end.getTime()  - start.getTime()  ) / 1000 ) ;
console.log(times);

//步骤②:将秒数转化为天数秒数,对结果取整
var day = parseInt( times / (24*60*60) ) ;
console.log(day);

//步骤③:转化为天数之后,剩余的秒数转化为小时
//方法1: 总秒数 - 天数所代表的秒数 --- 是我们要转化为小时的秒数
var a = times - day*(24*60*60);
console.log(a);
//方法2: 总秒数 % 一天的秒数,求余数。将所有的秒数都转化为天,之后剩余的余数就是我们要求的数值,也就是转化为小时的秒数
var b = times % (24*60*60);
console.log(b);

var hour = parseInt( ( times % (24*60*60) ) / (60*60) );
console.log(hour);//转化为小时的秒数,一小时有多少秒,结果获取整数部分

//步骤④:将剩余的秒数转化为分钟
//方法1: 总秒数 - 天数的秒数 - 小时的秒数  
//方法2: 总秒数 % 小时的秒数  
var minute  = parseInt( ( times % (60*60) ) / 60 );
console.log(minute);//剩余的秒数获取整数部分

//步骤⑤:求剩余的秒数
//方法1 : 总秒数 - 天的秒数 - 小时的秒数 - 分钟的秒数
//方法2 : 总秒数 % 一分钟的秒数

var second = times % 60 ;
console.log(second);

document.write( `距离结束时间,还有${day}天,${hour}小时,${minute}分钟,${second}秒,请您抓紧时间付款` );
//输出结果为距离结束时间,还有7天,1小时,54分钟,29秒,请您抓紧时间付款(以个人情况为准)

一个倒计时的例子

<body>
    <div id="d"></div>
    <script>
function setTime(end){
            var endTime = new Date(end);
            var startTime = new Date();
            var times = parseInt( ( endTime.getTime() - startTime.getTime() ) / 1000 );
        
            var day = parseInt(times / (24*60*60));
            var hour =  parseInt( (times % (24*60*60)) / (60*60) );
            var minute = parseInt( (times % (60*60)) / (60) );
            var second = times % 60;
        
            return  `距离终止时间,还有${day}天,${hour}小时,${minute}分钟,${second}秒`;
        }

        d.innerHTML = setTime('2020-4-1 0:0:0');


        setInterval( function(){
            d.innerHTML = setTime('2020-4-1 0:0:0');
        }  , 1000 );
        </script>
</body>

简单的电子时钟页面

<body>
		<div id="d"></div>
		<script>
			d.innerHTML = setTime();//将获取的时间插入到网页中
            function setTime(){
			var d = new Date();//使用data对象时需要先创建一个时间对象
			var year = 	d.getFullYear();//获取年份
			var month = d.getMonth();//获取月份
			var day = d.getDate();//获取日期(xx号)
			var hour = d.getHours();//获取小时
			var minute = d.getMinutes();//获取分钟
			var second = d.getSeconds();//获取秒钟
			var week = d.getDay();//获取星期
			var arr  = ['日','一','二','三','四','五','六'];//将星期的数字转化为汉字
			return `现在的时间是${year}${month+1}${day}${hour}${minute}${second}秒,星期${arr[week]}`;}
			
			setInterval(function(){d.innerHTML = setTime();},1000)//设置每秒刷新1次时间
		</script>
</body>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值