这个动态获取服务器时间为什么和正常时间差8个小时
问题如上所述,已仔细看过代码,新手求指教!代码如下
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" language="javascript">
<!--
window.onload=function (){
stime();
}
var c=0;
var Y=<?php echo date('Y')?>,M=<?php echo date('n')?>,D=<?php echo date('j')?>;
function stime() {
c++
sec=<?php echo time()-strtotime(date("Y-m-d"))?>+c;
H=Math.floor(sec/3600)%24
I=Math.floor(sec/60)%60
S=sec%60
if(S<10) S='0'+S;
if(I<10) I='0'+I;
if(H<10) H='0'+H;
if (H=='00' & I=='00' & S=='00') D=D+1; //日进位
if (M==2) { //判断是否为二月份******
if (Y%4==0 && !Y%100==0 || Y%400==0) { //是闰年(二月有28天)
if (D==30){M+=1;D=1;} //月份进位
}
else { //非闰年(二月有29天)
if (D==29){M+=1;D=1;} //月份进位
}
}
else { //不是二月份的月份******
if (M==4 || M==6 || M==9 || M==11) { //小月(30天)
if (D==31) {M+=1;D=1;} //月份进位
}
else { //大月(31天)
if (D==32){M+=1;D=1;} //月份进位
}
}
if (M==13) {Y+=1;M=1;} //年份进位
//setInterval(stime,1000);
setTimeout("stime()", 1000);
document.getElementById("servertime").innerHTML = Y+'-'+M+'-'+D+' '+H+':'+I+':'+S
}
-->
</script>
</head>
<body>
<!--动态读取服务器时间开始 -->
<span id="servertime"></span>
<!--动态度曲服务器时间结素 -->
</body>
</html>
[解决办法]
如果你确认代码没问题 刚好差了8个小时,那么 服务器php.ini 添加 date.timezone = "Asia/Chongqing"
restart apache.
[解决办法]
默认的格林时间比正常时间早8小时。 改改时区设置即可。
[解决办法]
php.ini 添加 date.timezone = "Asia/Chongqing"
[解决办法]
在程序最前边加上一句话:date_default_timezone_set('PRC');