php JS 倒计时(减少客户端时间不同步时的误差)

4 篇文章 0 订阅
1 篇文章 0 订阅
<?php 
$time = getdate();
//print_r($time);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<span id="Clock" style="font-weight: bold;"></span>
</body>
<script language="javascript">
var ServerDate = new Date(<?php echo $time['year'].",".($time['mon']-1).",".$time['mday'].",".($time['hours']+8).",".$time['minutes'].",".$time['seconds'];?>);
var ClientDate= new Date();

var d=ClientDate-ServerDate;//计算S和C之间的时差,单位毫秒
var starttime = new Date(2011,8,6,9,0,0);//开始时间
var stoptime = new Date(2011,8,6,19,0,0);//结束时间
  
function clock()
{
  var today = new Date();
  today.setTime(today.getTime()-d);//同步日期到服务器时间

  var leave=stoptime-today;

  if(leave>=1000)
  {
    var timeString="";

    var day = Math.floor(leave / (1000 * 60 * 60 * 24));
    leave-=day*(1000 * 60 * 60 * 24);
    if(day>0)timeString+=day + "天"
    
    var hour = Math.floor(leave / (1000 * 60 * 60));
    leave-=hour*(1000 * 60 * 60);
    if(hour>0)
    {
      if(timeString!="")timeString+=",";
      timeString+=hour + "小时"
    }
    
    var minute = Math.floor(leave / (1000 * 60));
    leave-=minute*(1000 * 60);
    if(minute>0)
    {
      if(timeString!="")timeString+=",";
      timeString+=minute + "分"
    }
    
    var second = Math.floor(leave / 1000);
    if(timeString!="")timeString+=",";
    timeString+=second + "秒"
    document.getElementById("Clock").innerHTML = "离活动开始还有 " + timeString;
  }
  else
  {
    if((stoptime-today)>0)
    {
    }
  }
  setTimeout("clock()", 1000);
}
clock();
</script>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值