一个关于JS和PHP动态显示时间的程式,高手看下.

来源:百度知道 编辑:UC知道 时间:2024/07/07 09:51:32
可以动态显示当前时间,xxxx年xx月xx日 xx:xx:xx 星期X

但是有个问题是,页面显示的日期和实际日期差了一天.星期和时分秒都没有问题.

高手检查下时哪里的问题.
<body>
<script language="JavaScript">
<!--
document.write('<div id="Today"></div>');
var a=0;
var Y=<? echo date('Y')?>,M=<? echo date('n')?>,D=<? echo date('j')?>;
function clock() {
sec=<? echo strtotime('8 hours')?>+a; //(GMT+8:00)时区:中国标准时间
S=sec%60; //秒
I=Math.floor(sec/60)%60; //分
H=Math.floor(sec/3600)%24; //时
W='四五六日一二三'.charAt(Math.floor(sec/86400)%7); //星期几
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) { //是闰年(二月有

else { //非闰年(二月有28天)
if (D==29){M=M+1;D=1;} //月份进位
}
}
else { //不是二月份的月份******
if (M==4 || M==6 || M==9 || M==11) { //小月(30天)
if (D==31) {M=M+1;D=1;} //月份进位
}
else { //大月(31天)
if (D==32){M=M+1;D=1;} //月份进位
}
}
if (M==13) {Y=Y+1;M=1;} //年份进位
timeStr=Y+'年'+M+'月'+D+'日'+' 星期'+W+' '+H+':'+I+':'+S;
Today.innerHTML = timeStr;
a++;
}
clock(); //这行可以不要,只为初始化...
setInterval(clock,1000);
//-->
//判断闰年的规则是,能被4整除,但能被100整除的不是闰年,能被400整除为闰年.
//像1600、2000、2400年都是闰年,而1700、1800、1900、2100年都是平年(非闰年)
//PHP目前只能处理1970-2038年的时间段,所以在这不用理会100及400的这整除事件
</script>
</body>