PHP时间戳实现倒计时,JavaScript | 时间戳实现倒计时定时器
實現(xiàn)思路:通過date.setHours設(shè)置三小時后,并通過data.getTime獲取三小時后的時間戳(從1970年1月1日到現(xiàn)在的毫秒數(shù)),之后通過定時器每隔16毫秒調(diào)用一次enterFrame函數(shù),此函數(shù)用于設(shè)置新的時間戳(當(dāng)前時間),并和三小時后的時間戳相減獲取相差毫秒數(shù),最后轉(zhuǎn)換為小時、分鐘、秒。
注意,最后記得通過判斷清除定時器。
var targetTime,times,ids;
init();
function init(){
times=document.getElementById("times");
var date=new Date();
// 設(shè)置時間3小時后
date.setHours(date.getHours()+3);
// 獲取這個時間的毫秒數(shù),未來的時間戳,這個時間到1970.1.1的毫秒數(shù)
targetTime=date.getTime();
// 每16毫秒執(zhí)行下面的函數(shù)
ids=setInterval(enterFrame,16);
}
function enterFrame(){
// 每間隔16毫秒執(zhí)行這個函數(shù)
// 重新獲取當(dāng)前的時間
var date=new Date();
// 重新獲取當(dāng)前時間戳 現(xiàn)在到1970.1.1的毫秒數(shù)
var time=date.getTime();
// console.log(targetTime-time);//10795679 毫秒
// 用未來到1970.1.1的毫秒數(shù)-現(xiàn)在到1970.1.1的毫秒數(shù),這個就是現(xiàn)在到未來的時間差毫秒數(shù)
// 這是毫秒變成秒數(shù),就要/1000,做四舍五入,進到秒
time=Math.round((targetTime-time)/1000);
// 10796 秒 1小時3600秒
// 1小時是3600秒 除3600向下取整就是小時數(shù)
var hours=Math.floor(time/3600);
// 1小時3600毫秒,除3600取余數(shù),就是除了小時之外的所有秒數(shù),除60是分鐘
var minutes=Math.floor((time%3600)/60);
// 用當(dāng)前秒-小時所用的秒-分所用的秒,就是剩余的秒數(shù)
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);
}
}
總結(jié)
以上是生活随笔為你收集整理的PHP时间戳实现倒计时,JavaScript | 时间戳实现倒计时定时器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两只老虎体重判断
- 下一篇: 年龄 计算 php,php简单计算年龄的