版权声明: https://blog.csdn.net/lhjuejiang/article/details/82261297
倒计时原理:未来的时间点-现在的时间点// 现在的时间点(在变) var iNow = new Date();
// 未来的时间点(不变)
//下面两种方法都可以定义未来的时间点
// var iNew = new Date( 2013, 10, 27, 21,56,0 );
var iNew = new Date( 'November 27,2013 22:3:0' );
// 数字形式:new Date( 2013,4,1,9,48,12 );
// 字符串形式:new Date('June 10,2013 12:12:12');
// January、February、March、April、May、June、
// July、August、September、October、November、December
var t = Math.floor((iNew - iNow)/1000); 除以1000将毫秒变为秒,因为可能出现小数,所以向下取整
// 天:Math.floor(t/86400) 未来时间与现在相差多少天
// 时:Math.floor(t%86400/3600) 未来时间与现在相差多少小时
// 分:Math.floor(t%86400%3600/60) 未来时间与现在相差多少分钟
// 秒:t%60 未来时间与现在相差多少秒
倒计时实例:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style>
.t1 { width:400px; }
</style>
<script>
/*
var t = Math.floor( new Date().getTime()/1000 );
alert( Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒' );
*/
window.onload = function () {
var aInp = document.getElementsByTagName('input');
var iNow = null;
var iNew = null;
var t = 0;
var str = '';
var timer = null;
aInp[2].onclick = function () {
iNew = new Date(aInp[0].value);
clearInterval( timer );
timer = setInterval (function (){
iNow = new Date();
t = Math.floor( ( iNew - iNow ) / 1000 );
if ( t >= 0 ) {
str = Math.floor(t/86400)+'天'+Math.floor(t%86400/3600)+'时'+Math.floor(t%86400%3600/60)+'分'+t%60+'秒';
aInp[1].value = str;
} else {
clearInterval( timer );
}
}, 1000);
};
};
</script>
</head>
<body>
距离:<input class="t1" type="text" value="November 27,2013 22:3:0" /><br />
还剩:<input class="t1" type="text" />
<input type="button" value="开始倒计时吧" />
</body>
</html>