1. html網頁怎樣獲取伺服器的時間
網頁前端是無法獲取到伺服器時間的,只有通過後台取值然後進行傳遞。 使用Ajax每秒獲取伺服器的時間並顯示出來,但是伺服器網路延遲較高,這樣誤差較大。
示例採用Head的方法處理,第一次頁面載入時從伺服器端獲得時間,以這個時間為基準,客戶端再用js每秒累加。
完整代理示例:
<html>
<head>
<title>html網頁獲取伺服器的時間</title>
<scriptlanguage="javaScript"type="text/javascript">
<!--程序執行需要耗費時間,誤差在2秒以下-->
varxmlHttp=false;
<!--獲取伺服器時間-->
try{
xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
}catch(e2){
xmlHttp=false;
}
}
if(!xmlHttp&&typeofXMLHttpRequest!='undefined'){
xmlHttp=newXMLHttpRequest();
}
xmlHttp.open("GET","
,false);
xmlHttp.setRequestHeader("Range","bytes=-1");
xmlHttp.send(null);
severtime=newDate(xmlHttp.getResponseHeader("Date"));
<!--獲取伺服器日期-->
varyear=severtime.getFullYear();
varmonth=severtime.getMonth()+1;
vardate=severtime.getDate();
<!--獲取伺服器時間-->
varhour=severtime.getHours();
varminu=severtime.getMinutes();
varseco=severtime.getSeconds();
<!--格式化輸出伺服器時間-->
functiongetSeverTime(){
seco++;
if(seco==60){
minu+=1;
seco=0;
}
if(minu==60){
hour+=1;
minu=0;
}
if(hour==24){
date+=1;
hour=0;
}
<!--日期處理-->
if(month==1||month==3||month==5||month==7
||month==8||month==10||month==12)
{
if(date==32)
{
date=1;
month+=1;
}
}elseif(month==4||month==6||month==9||month==11){
if(date==31){
date=1;
month+=1;
}
}elseif(month==2){
if(year%4==0&&year%100!=0){<!--閏年處理-->
if(date==29){
date=1;
month+=1;
}
}else{
if(date==28){
date=1;
month+=1;
}
}
}
if(month==13){
year+=1;
month=1;
}
sseco=addZero(seco);
sminu=addZero(minu);
shour=addZero(hour);
sdate=addZero(date);
smonth=addZero(month);
syear=year;
innerdata="當前伺服器時間:";
document.getElementById("servertime").innerHTML=innerdata+syear+"-"+smonth+"-"+sdate+""+shour+":"+sminu+":"+sseco;
setTimeout("getSeverTime()",1000);
setTimeout("getClientTime()",100);
}
functionaddZero(num){
num=Math.floor(num);
return((num<=9)?("0"+num):num);
}
</script>
</head>
<bodyonLoad="getSeverTime();">
<pid="servertime"></p>
<pid="clienttime"></p>
<pid="xctime"></p>
</body>
</html>
【擴展】網頁前端獲取當前時間,調用date()函數即可。
示例代碼:
<spanid="cg"></span>
<script>setInterval("cg.innerHTML=newDate().toLocaleString()",1000);</script>
2. js如何取得伺服器時間
如果是網頁前端的js是無法直接獲得伺服器時間的。只能藉助一些伺服器端語言,比如PHP,JSP,ASP等。方法是在伺服器端獲取伺服器時間,然後輸出一條js的幅值語句。
<script>
varserverTime=<%=Now()%>
alert(serverTime)
<script>
3. 如何獲取遠程WEB伺服器的時間
獲取遠程WEB伺服器的時間可以利用伺服器返回的頭信息獲取,使用JS代碼方法如下,其它語言同理:
<script>
var xmlhttp=new ActiveXObject("MSXML2.XMLHTTP.3.0");
xmlhttp.open("GET","遠程伺服器地址",false);
xmlhttp.setRequestHeader("If-Modified-Since","q");
xmlhttp.send();
var dateStr= xmlhttp.getResponseHeader("Date");
//alert(dateStr);
var d = new Date(dateStr);
document.write(d);
</script>