time.asp<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'>
<meta http-equiv="refresh" content="1000">
<title>取服务器端时间(秒数)</title>
</head><body onload="meizzTime(secondSub)">
<form name=meizz><input name=clock size=8></form>
</body></html>

解决方案 »

  1.   

    行4第20个字符出现错误,还有就是24行提示secondSub还没有定义。这些是上面测试时出现的问题。:)
      

  2.   

    请问这句var secondServer = <%=DateDiff("s", "1970-01-01 08:00:00", Now())%>;有什么问题?语法错误吗?它总是提示语法错误的??
      

  3.   

    你的 server 端的ASP的解析语言应该用 VBScript 呀.
      

  4.   

    <html>
    <head>
    <title>getExpression(), setExpression(), and recalc() Methods</title>
    <style type="text/css">
    th {text-align:right}
    span {vertical-align:bottom}
    </style>
    <script type="text/javascript">
    var now = new Date();
    var shortWidth = 5;
    var multiple = 2.5;
    function init() {
    with (document.all) {
    hoursBlock.style.setExpression("width","now.getHours() * shortWidth * multiple","jscript");
    hoursLabel.setExpression("innerHTML","now.getHours()","jscript");
    minutesBlock.style.setExpression("width","now.getMinutes() * shortWidth","jscript");
    minutesLabel.setExpression("innerHTML","now.getMinutes()", "jscript");
    secondsBlock.style.setExpression("width","now.getSeconds() * shortWidth","jscript");
    secondsLabel.setExpression("innerHTML","now.getSeconds()", "jscript");
    }
    updateClock();
    }
    function updateClock() {
    now = new Date();
    document.recalc();
    setTimeout("updateClock()",1000);
    }
    function showExpr() {
    alert("Expression for the \'Hours\' innerHTML property is:\r\n" +
    document.getElementById("hoursLabel").getExpression("innerHTML") + "."); }
    </script>
    </head>
    <body onload="init()">
    <h1>getExpression(), setExpression(), recalc() Methods</h1>
    <hr />
    <p>This clock uses Dynamic Properties to calculate bar width and time
    numbers:</p>
    <table border="0">
    <tr>
    <th>Hours:</th>
    <td><span id="hoursBlock" style="background-color:red"></span>
    &nbsp;<span id="hoursLabel"></span></td>
    </tr>
    <tr>
    <th>Minutes:</th>
    <td><span id="minutesBlock" style="background-color:yellow"></span>
    &nbsp;<span id="minutesLabel"></span></td>
    </tr>
    <tr>
    <th>Seconds:</th>
    <td><span id="secondsBlock" style="background-color:green"></span>
    &nbsp;<span id="secondsLabel"></span></td>
    </tr>
    </table>
    <hr />
    <form>
    <input type="button" value="Show 'Hours' number innerHTML Expression"
    onclick="showExpr()" />
    </form>
    </body>
    </html>
      

  5.   

    Javascript一般使用于客户端的操作,如果要取得到服务器端的时间的话必须使用到服务器端脚本,一般会用VBScript。
    所以你想问的是不适如果通过VBScript取得服务器时间并通过Javascript在前台更新呢?
      

  6.   

    问题解决,js好象没有一个函数是取得到服务器系统时间的,还要用到其它语言来解决,我就结合了PHP取得系统时间,问题得到解决了。多谢各位的关注啦。
      

  7.   

    解决了就好!恭喜!
    但是JS里的clockon()函数是可以得到系统时间的!