现在的B/S项目里面有一个要求:在浏览器里面实现显示服务器时间的时钟。如果是显示客户端的时钟倒是很简单了,但是显示服务器段时钟就……。肯定是不能每秒刷新页面了,首先的想法就是取得客户端和服务器端的时间差,然后在客户端用Js脚本显示,这显示的自然就是客户端当前时间加上这个时间差了。

以前一直用的是JS,好像没有什么太容易的办法简单的实现诸如" 计算时间差", "加上一个时间间隔"这样的任务。好在 JS 没有但是 VBS 有啊, DataDiff  和 DateAdd  两个函数可以很轻松的完成上述任务。下面就是实现的 HTML 代码。

<!doctype html public "-//w3c//dtd html 4.01 transitional//en">
<html>
    
<head>
        
<title>Server Time</title>
        
<meta http-equiv="Content-Language" content="zh-cn">
        
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        
        
<script language="vbscript"> 

            
Dim secondDiff

            
Sub UpdateTime()
                clientTime.innerText 
= Now()
                serverTime.innerText 
= DateAdd("s", secondDiff, Now())
            
End Sub

            
Sub SetTime(serverDateTime)
                
' 客户端时间
                clientDateTime = Now()

                
' 秒差
                secondDiff  = DateDiff("s", clientDateTime, serverDateTime)

                
' 每秒更新
                oInterval = setInterval("UpdateTime()"1000)
            
End Sub

        
</script>  
    
    
</head>
    
<body>
        
<script>SetTime("2007-10-20 12:30:33")</script>
        客户端时间:
<label id="clientTime"></label><br>
        服务器时间:
<label id="serverTime"></label>
    
</body>
</html>
 posted on 2004-10-14 10:28  一切由.NET开始  阅读(3619)  评论(2编辑  收藏  举报