一、单个的倒计时
// 设置开始时间,注意时间格式
var setstartTime="2015/07/30 15:00:00";
// 设置结束时间,注意时间格式
var setendTime="2015/07/31 19:00:00";
var EndTime=new Date(setendTime);
var StartTime=new Date(setstartTime);
// 预热时间
var warm_up=new Date(StartTime.getFullYear()+"/"+(StartTime.getMonth()+1)+"/"+StartTime.getDate()+" 00:00:00");
var nMS;
function timer(){
//时间默认值
var day=0,
hour=0,
minute=0,
second=0;
var NowTime = new Date();
if(NowTime.getTime()<warm_up){
// 活动预热未开始或没有活动
sTodayText = '暂无活动';
hour = 0;
minute = 0;
second = 0;
}else if(NowTime.getTime()>warm_up && NowTime.getTime()<StartTime){
sTodayText = '距离秒杀活动开始还有';
nMS = StartTime - NowTime.getTime();
hour = Math.floor(nMS/(1000*60*60));
minute = Math.floor(nMS/(1000*60)) % 60;
second = Math.floor(nMS/1000) % 60;
}else if(NowTime.getTime()>StartTime && NowTime.getTime()<EndTime){
sTodayText = '距离本次秒杀活动结束还有';
nMS = EndTime - NowTime.getTime();
hour = Math.floor(nMS/(1000*60*60));
minute = Math.floor(nMS/(1000*60)) % 60;
second = Math.floor(nMS/1000) % 60;
}else if(NowTime.getTime()>EndTime){
sTodayText = '秒杀活动已结束';
hour = 0;
minute = 0;
second = 0;
clearInterval(setST);
}
jQuery('.xi-time .hour').text(formatDate(hour));
jQuery('.xi-time .minute').text(formatDate(minute));
jQuery('.xi-time .second').text(formatDate(second));
jQuery(".xi-box .xi-hd h3").html(sTodayText);
}
</pre><pre name="code" class="javascript">// 格式化时间
function formatDate(oDate) {
oDate=parseInt(oDate)
oDate = oDate< 10 ? '0'+oDate : oDate;
return (oDate);
}
二、多个倒计时 拷贝的
<body>
<div id="timer1">
</div>
<div id="timer2">
</div>
<div id="timer3">
</div>
</body>
<script type="text/javascript">
var addTimer = function () {
var list = [],
interval;
return function (id, time) {
if (!interval)
interval = setInterval(go, 1000);
list.push({ ele: document.getElementById(id), time: time });
}
function go() {
for (var i = 0; i < list.length; i++) {
list[i].ele.innerHTML = getTimerString(list[i].time ? list[i].time -= 1 : 0);
if (!list[i].time)
list.splice(i--, 1);
}
}
function getTimerString(time) {
d = Math.floor(time / 86400),
h = Math.floor((time % 86400) / 3600),
m = Math.floor(((time % 86400) % 3600) / 60),
s = Math.floor(((time % 86400) % 3600) % 60);
if (time>0)
return d + "天" + h + "小时" + m + "分" + s + "秒";
else return "时间到";
}
} ();
addTimer("timer1", 99999);
addTimer("timer2", 66666);
addTimer("timer3", 33333);
</script>
PS:解决本地时间与服务器时间不一致问题
var NowTime = (服务器时间-本地时间)+new Date();