下面的实现要依赖 moment.js 这个第工具,下载:http://momentjs.cn/docs
如下,我们指定一个时间如: endDate = 2016-07-13 18:30:00
startDate= 当前
如功能做一个从开始时间起,倒计时到结束时间:
<div id="continer"></div>
var timer = function(){
var endDate = new Date("2016-07-13 18:30:10");
var diffSecond = parseInt((endDate-new Date())/1000); //结束时间到现在差的秒数
if(diffSecond>0){
var offset = moment.duration(diffSecond, 'seconds');
var month = offset.months();
var day = offset.days();
var hour = offset.hours();
var minute = offset.minutes();
var second = offset.seconds();
var diff = moment({ month :month, day :day, hour :hour, minute :minute, second :second});
$("#continer").text(diff.format("HH:mm:ss"));
}else{
//timeout..
}
}
var id = setInterval(timer,1000);
结果:
01:39:40
下面我们把结束时间调整致:2016-07-15 18:30:00
var timer = function(){
var endDate = new Date("2016-07-15 18:30:10");
var diffSecond = parseInt((endDate-new Date())/1000); //结束时间到现在差的秒数
if(diffSecond>0){
var offset = moment.duration(diffSecond, 'seconds');
var month = offset.months();
var day = offset.days();
var hour = offset.hours();
var minute = offset.minutes();
var second = offset.seconds();
var diff = moment({ month :month, day :day, hour :hour, minute :minute, second :second});
if(day>0){
$("#continer").text(diff.format("DD天 HH:mm:ss"));
}else{
$("#continer").text(diff.format("HH:mm:ss"));
}
}else{
//timeout..
}
}
var id = setInterval(timer,1000);
结果:
2天 01:39:40