我这个方法不需要一秒一刷<html><head>
<script language=javascript>
//特别注明:北京时间是格林尼治标准时加八小时,因此我用的起始时间也是从八点起算的
var secondServer = <%=DateDiff("s", "1970-01-01 08:00:00", Now())%>;
var secondClient = parseInt(new Date().getTime()/1000);
var secondSub    = secondServer - secondClient;         //两端时间秒差
function meizzTime(n)
{
   var mei = new Date();
   mei.setTime(mei.getTime() + n*1000);       //得到一个新的时间
   var h = (mei.getHours()   > 9) ? mei.getHours()   : "0" + mei.getHours();
   var m = (mei.getMinutes() > 9) ? mei.getMinutes() : "0" + mei.getMinutes();
   var s = (mei.getSeconds() > 9) ? mei.getSeconds() : "0" + mei.getSeconds();
   document.meizz.clock.value = h +":"+ m +":"+ s;
   setTimeout("meizzTime(secondSub)", 1000);
}
</script>
<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
<title>取服务器端时间(秒数)</title>
</head><body onload="meizzTime(secondSub)">
<form name=meizz><input name=clock size=8></form>
</body></html>

解决方案 »

  1.   

    加入一个改进办法:
    在 head 区里加入这么一句:<meta http-equiv="refresh" content="100">
    即该网页每隔 100 秒就会自动与服务器端进行一次时间校验。
      

  2.   

    用XMLHTTP隐藏刷新,就可以实现啦。你又看不到窗体刷新,又近实时看到服务的时间。就算服务器改了时间,客户端也可看到。
    I LOVE XMLHTTP !
      

  3.   

    客户端: gettime.htm<xml id="xmldso" src="time.asp"></xml><span datafld="服务器时间" datasrc="#xmldso"></span>
    <script>window.setInterval(function(){xmldso.src="time.asp"},1000)</script>
    服务器端 time.asp
    <%response.ContentType ="text/xml"%>
    <?xml version='1.0' encoding='gb2312'?>
    <root><服务器时间><%=now()%></服务器时间></root>
      

  4.   

    Go_Rush(阿舜)你的代码不好用啊
      

  5.   

    客户端time.htm<script language=JavaScript>
    function getonlinenum()
    {
    var objXMLHTTP=new ActiveXObject("MICROSOFT.XMLHTTP");
    objXMLHTTP.open("GET","s.asp",false);
    objXMLHTTP.send("");
    var strReturn=objXMLHTTP.ResponseText;
    online_num.innerHTML="server time:" + strReturn;
    }
        </script>
        </head>
        <body onload="setInterval('getonlinenum()',1000)">
    <span id=online_num></span>-----------------------------
    服务器端: s.asp<%Response.Expires=-1
    response.ContentType ="text/xml"%>
    <?xml version='1.0' encoding='gb2312'?>
    <%=now()%>
      

  6.   

    你可以写一个隐藏的Applet,在Applet中获取服务器端时间,再直接从Applet中将时间写到网页上的时间栏位上。
    或者你直接写个显示时间的Applet放到网页上更好。
      

  7.   

    用隐藏iframe隔段时间校正一次即可
      

  8.   

    可惜啊js的Date()太弱。XMLHTTP?MSSOAP.SoapClient