您的位置:首页 > Web前端 > JavaScript

js的倒计时 服务器时间与本地时间不一致

2015-10-21 20:46 603 查看
一、单个的倒计时

// 设置开始时间,注意时间格式
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: