ajax获取服务器时间

[javascript] view plaincopyprint?
01.<script language="javascript" type="text/javascript">  
02.//因程序执行耗费时间,所以时间并不十分准确,误差大约在2000毫秒以下  
03.var xmlHttp = false;  
04.//获取服务器时间  
05.try {  
06.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");  
07.} catch (e) {  
08.try {  
09.    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
10.} catch (e2) {  
11.    xmlHttp = false;  
12.}  
13.}  
14.  
15.if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {  
16.xmlHttp = new XMLHttpRequest();  
17.}  
18.  
19.xmlHttp.open("GET", "http://www.time.ac.cn", false);  
20.xmlHttp.setRequestHeader("Range", "bytes=-1");  
21.xmlHttp.send(null);  
22.  
23.severtime=new Date(xmlHttp.getResponseHeader("Date"));  
24.  
25.//获取服务器日期  
26.var year=severtime.getFullYear();  
27.var month=severtime.getMonth()+1;  
28.var date=severtime.getDate();  
29.//获取服务器时间  
30.var hour=severtime.getHours();  
31.var minu=severtime.getMinutes();  
32.var seco=severtime.getSeconds();  
33.  
34.//格式化输出服务器时间  
35.function getSeverTime(){  
36.seco++;  
37.if(seco==60){  
38.minu+=1;  
39.seco=0;  
40.}  
41.if(minu==60){  
42.   hour+=1;  
43.   minu=0;  
44.}  
45.if(hour==24){   
46.date+=1;  
47.hour=0;  
48.}  
49.//日期处理  
50.if(month==1||month==3||month==5||month==7  
51.||month==8||month==10||month==12)  
52.{  
53.if(date==32)  
54.{  
55.   date=1;  
56.   month+=1;  
57.   }  
58.}else if(month==4||month==6||month==9||month==11){  
59.if(date==31){  
60.   date=1;  
61.   month+=1;  
62.   }  
63.}else if(month==2){  
64.   if(year%4==0&&year%100!=0){//闰年处理  
65.    if(date==29){  
66.     date=1;  
67.     month+=1;  
68.    }  
69.   }else{  
70.    if(date==28){  
71.     date=1;  
72.     month+=1;  
73.    }  
74.   }  
75.}  
76.if(month==13){  
77.year+=1;  
78.month=1;  
79.}  
80.sseco=addZero(seco);  
81.sminu=addZero(minu);  
82.shour=addZero(hour);  
83.sdate=addZero(date);  
84.smonth=addZero(month);  
85.syear=year;  
86.  
87.innerdata="当前服务器时间:";  
88.document.getElementById("servertime").innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+" "+shour+":"+sminu+":"+sseco;  
89.setTimeout("getSeverTime()",1000);  
90.setTimeout("getClientTime()",100);  
91.}  
92.  
93.function addZero(num) {  
94.num=Math.floor(num);  
95.return ((num <= 9) ? ("0" + num) : num);  
96.}  
97.</script>     

  

01.<body onLoad="getSeverTime();">  
02.<p id="servertime"></p>  
03.<p id="clienttime"></p>  
04.<p id="xctime"></p>  
05.</body>

  

posted @ 2012-02-22 18:07  SOD_QWER  阅读(329)  评论(0)    收藏  举报