ajax获取服务器时间,实现PHP活动倒计时效果

html部分代码
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<script type="text/javascript">
//ajax函数请求time.php数据
function loadDoc(){
var xmlhttp;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("timeDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","time.php",true);
xmlhttp.send();
}
//self.setInterval()周期执行ajax函数获取服务器时间,执行周期500毫秒
var int=self.setInterval("loadDoc()",500);
</script>
<head>
<body>
<div class="top_time">
<fieldset>
<legend>距离活动结束还有</legend>
<div id="timeDiv" class="com_margin com_margintop"></div>
</fieldset>
</div>
</body>
</html>
time.php代码:
//使用时间函数值钱先设置时区 date_default_timezone_set("Asia/Shanghai"); //获取当前时间戳 $time1=time(); //获取活动时间结束时间戳 $time2=mktime(23,0,0,11,20,2017); //获取当前时间到活动结束时间时间戳的差值 $time3=$time2-$time1; //计算距离活动结束的倒计时天数 $day=($time3-($time3%(24*3600)))/(24*3600); //计算距离活动结束的倒计小时数 $hour=($time3%(24*3600)-(($time3%(24*3600))%3600))/3600; //计算距离活动结束的倒计时分钟数 $minute=((($time3%(24*3600))%3600)-((($time3%(24*3600))%3600)%60))/60; //计算距离活动结束的倒计时秒数 $second=($time3%(24*3600)%3600)%60; //获取数值进行转化成字符串 $day=(string) $day; $hour=(string) $hour; $minute=(string) $minute; $second=(string) $second; //变量用于存储前台ajax需要获取的数值 $strTime=""; //通过compact函数把计算得到的变量合成数组,并以变量名为键值钱 $arrTime=compact('day','hour','minute','second'); //拼接$strTime的值 foreach($arrTime as $key=>$value){ switch ($key){ case 'day' : if(strlen($value)==2){ $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>天 '; }else{ $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>天 '; } break; case 'hour' : if(strlen($value)==2){ $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>时 '; }else{ $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>时 '; } break; case 'minute' : if(strlen($value)==2){ $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>分 '; }else{ $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>分 '; } break; case 'second' : if(strlen($value)==2){ $strTime=$strTime.'<span>'.$value[0].'</span><span>'.$value[1].'</span>秒 '; }else{ $strTime=$strTime.'<span>0</span><span>'.$value[0].'</span>秒'; } break; default : echo "false!"; break; } } //用于ajax获取 echo $strTime;

浙公网安备 33010602011771号