PHP时间戳实现倒计时,JavaScript | 时间戳实现倒计时定时器

本文介绍如何使用JavaScript通过Date对象和setInterval实现一个计时器,计算并显示距离三小时后的时间,包括小时、分钟和秒。关键步骤包括设置未来时间戳、定期更新当前时间并与未来时间进行比较。
摘要由CSDN通过智能技术生成

实现思路:通过date.setHours设置三小时后,并通过data.getTime获取三小时后的时间戳(从1970年1月1日到现在的毫秒数),之后通过定时器每隔16毫秒调用一次enterFrame函数,此函数用于设置新的时间戳(当前时间),并和三小时后的时间戳相减获取相差毫秒数,最后转换为小时、分钟、秒。

注意,最后记得通过判断清除定时器。

var targetTime,times,ids;

init();

function init(){

times=document.getElementById("times");

var date=new Date();

// 设置时间3小时后

date.setHours(date.getHours()+3);

// 获取这个时间的毫秒数,未来的时间戳,这个时间到1970.1.1的毫秒数

targetTime=date.getTime();

// 每16毫秒执行下面的函数

ids=setInterval(enterFrame,16);

}

function enterFrame(){

// 每间隔16毫秒执行这个函数

// 重新获取当前的时间

var date=new Date();

// 重新获取当前时间戳 现在到1970.1.1的毫秒数

var time=date.getTime();

// console.log(targetTime-time);//10795679 毫秒

// 用未来到1970.1.1的毫秒数-现在到1970.1.1的毫秒数,这个就是现在到未来的时间差毫秒数

// 这是毫秒变成秒数,就要/1000,做四舍五入,进到秒

time=Math.round((targetTime-time)/1000);

// 10796 秒 1小时3600秒

// 1小时是3600秒 除3600向下取整就是小时数

var hours=Math.floor(time/3600);

// 1小时3600毫秒,除3600取余数,就是除了小时之外的所有秒数,除60是分钟

var minutes=Math.floor((time%3600)/60);

// 用当前秒-小时所用的秒-分所用的秒,就是剩余的秒数

var seconds=time-hours*3600-minutes*60;

times.innerHTML=(hours<10 ? "0"+hours : hours)+":"+

(minutes<10 ? "0"+minutes : minutes)+":"+

(seconds<10 ? "0"+seconds : seconds);

if(hours+minutes+seconds===0){

clearInterval(ids);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值