客户端与服务端的时间一致性的解决

来源:互联网 发布:最好的系统重装软件 编辑:程序博客网 时间:2024/05/22 06:09
<?php//php的时间是以秒算。js的时间以毫秒算date_default_timezone_set("Asia/Hong_Kong");//地区//配置每天的活动时间段$starttimestr = "09:00:00";$endtimestr = "20:47:00";$starttime = strtotime($starttimestr);$endtime = strtotime($endtimestr);$nowtime = 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>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    <title>PHP实时倒计时!</title>    <script language="JavaScript">        <!-- //        var EndTime=<?=$endtime*1000?>;        var NowTime = new Date();        //计算出服务器和客户端的时间差。        var dTime = NowTime.getTime()-<?=$nowtime*1000?>;        var runtimes = 0;        function GetRTime(){            var NowTime = new Date();            var dTimeNew = NowTime.getTime()-<?=$nowtime*1000?>;            var dTimesM = Math.abs(Math.floor((dTimeNew-runtimes*1000-dTime)/1000));//客户端时间和服务器当前时间的差            if (dTimesM>1) {//如果用户修改了客户端时间,就重新load本页                window.location.reload();            }            var nMS = EndTime - NowTime.getTime()+dTime;            var nH=Math.floor(nMS/(1000*60*60)) % 24;            var nM=Math.floor(nMS/(1000*60)) % 60;            var nS=Math.floor(nMS/1000) % 60;            document.getElementById("RemainH").innerHTML=nH;            document.getElementById("RemainM").innerHTML=nM;            document.getElementById("RemainS").innerHTML=nS;            if(nMS>5*59*1000&&nMS<=5*60*1000)            {                alert("还有最后五分钟!");            }            runtimes++;            setTimeout("GetRTime()",1000);        }        window.onload=GetRTime;        // -->    </script></head><body><h1><strong id="RemainH">XX</strong>:<strong id="RemainM">XX</strong>:<strong id="RemainS">XX</strong></h1></body></html>
0 0
原创粉丝点击