现在的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 >
< 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 >