導航:首頁 > IDC知識 > js同步伺服器時間

js同步伺服器時間

發布時間:2021-03-11 13:12:39

1、js如何取得伺服器時間

正如樓上所說的,js只能操作客戶端的東西。在客戶端時刻顯示並更新伺服器的時間應該是不可能的,因為會由於網路延遲的因素使得時間不精確。
打個比方,可以使用ajax每秒鍾獲取伺服器的時間,然後再顯示出來,但是可能這個用戶的網路延遲比較厲害,他請求的這個時間過了兩三秒才返回給客戶端,那這樣更新時間就不精確了。

也可以這樣,第一次從伺服器那裡獲取時間,然後再客戶端用js,每秒累加數,就是以獲取伺服器的那個時間為起掉,用客戶端代碼每秒累加這個時間

2、JS倒計時器獲取伺服器當前時間問題?!

JS獲取伺服器時間:
<script language="javascript" type="text/javascript" src="nowjs.asp"></script>
<script language="javascript" type="text/javascript">
if (Math.floor((Date.parse(servertime)-Date.parse(document.lastModified))/1000)>8) {
sss=document.URL;
ss=sss.split("/");
s=ss[4].substr(5,12);
hidz=s.split(".");
hid=hidz[0];
document.write('<meta http-equiv="refresh" content="0;URL=http://www.test.com/info.asp?id='+hid+'"/>')
}
</script>

nowjs.asp
<% response.write "var servertime='"&month(now())&"/"&day(now())&"/"&year(now())&"/ "&time()&"';"%>
注意時間的格式

3、js可以取伺服器的時間嗎

伺服器給出介面返回伺服器時間就可以取否則不可以。

4、誰有跟互聯網時間同步的JS代碼?

呵呵,稍等下,我研究了一上午哦,我能給出答案.絕對不是本地時間,呵呵.

好了,寫出來了,原創哦,呵呵

我先去查找了關於時間伺服器的資料,發現原來時間伺服器使用的是UDP服務,而HTTP卻TCP的,如果不用自己的控制項根本沒法用嘛!
後來想到了,不是HTTP伺服器的響應頭都有個DATE選項嗎?如果能拿到開了HTTP的時間伺服器的HTTP頭不就能得到時間伺服器的時間了嗎?哈哈!
於是說做就做,我用XMLHTTP獲得了國內的一台時間伺服器的HTTP頭,把DATE選項分離出來,就可以啦~~哈哈

<script>
var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");
xmlhttp.open("GET", "http://時間伺服器地址/", false);
xmlhttp.setRequestHeader("If-Modified-Since","q");
xmlhttp.send();
var dateStr=xmlhttp.getResponseHeader("Date");
var d=new Date(dateStr);
document.write(d);
</script>

其中有很多小細節,包括突然無法取得DATE選項了`通過一些工具的跟蹤分析,也算是解決了.現在可以使用了哦~
不過還有一點小問題就是這個腳本是同步的,一直等到收到時間伺服器的返回信息後才繼續執行,所以...該怎麼辦你自己決定吧,呵呵

代碼中的 時間伺服器地址 可以替換為一個速度比較快的,比較官方的HTTP伺服器,例如 www.163.COM 呵呵.

5、ASP、jS獲取伺服器時間和自己電腦系統時間

dt類的都有獲取當前時間的函數。getInstance(java)和currenttime(asp)就是。
但這兩個都是獲取當前電腦時間,即你的程序在哪裡運行就是獲取哪個時間。

從你的提問看你是想在客戶端運行程序並獲取自己電腦時間和伺服器時間。如果這樣的話:
1、獲取自己電腦系統時間,就可以用上面兩個函數實現,具體看你用什麼工具編程。
2、伺服器時間,建議在伺服器上建立一個服務,同樣用上面兩個函數可以得到伺服器的時間,問題的關鍵是這個服務要把你獲取的伺服器時間暴露出來,可以通過服務函數解決。

6、js獲取伺服器時間(動態)

JS 是客戶端腳本 無法顯示資料庫的時間的

你可以用伺服器空間 比如 lable 在 page_load 的時候 DateTime.Now().Tostring()
然後給這個lable賦值 就行了

7、js可以讀取伺服器的時間嗎

js是執行在客戶端的,所以獲取的時間是客戶端的時間,如果要獲取伺服器端的時候就要配合你的後台語言來傳遞了,比如在asp.net中 var time=<%#DataTime.Now.ToString("yyyy-MM-dd hh:mm:ss")%> 或許你只是要獲取當前時間而已,顯示一個走動的時鍾: var date=new Date(); setIntval(function(){ data=new Date(); //這里加入你要的處理 },1000);

8、js如何獲取伺服器時間

直接給你代碼吧,這個是JS可以讀取本地時間和伺服器時間的。如果想看效果可以看參考資料
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>untitled</title>
<script type="text/javascript">
get=function (id){return document.getElementById(id)}
if(document.all){
window.XMLHttpRequest=function(){
var get=['Microsoft.XMLHTTP','Msxml2.XMLHTTP'];
for(var i=0;i<get.length;i++){try{return new ActiveXObject(get[i])}catch(e){}};
};
}
webDate=function(fn){
var Htime=new XMLHttpRequest();
Htime.onreadystatechange=function(){Htime.readyState==4&&(fn(new Date(Htime.getResponseHeader('Date'))))};
Htime.open('HEAD', '/?_='+(-new Date));
Htime.send(null);
}
window.time=new Date();
targetTime=new Date();
time2String=function (t){
with(t)return [getFullYear(),'年'
,('0'+(getMonth()+1)).slice(-2),'月'
,('0'+getDate()).slice(-2),'日 '
,('0'+getHours()).slice(-2),': '
,('0'+getMinutes()).slice(-2),': '
,('0'+getSeconds()).slice(-2)].join('')
}
int2time=function (m){
m-=(D=parseInt(m/86400000))*86400000;
m-=(H=parseInt(m/3600000))*3600000;
S=parseInt((m-=(M=parseInt(m/60000))*60000)/1000);
return D+'天'+H+'小時'+M+'分'+S+'秒'
}
setInterval(function (){
webDate(function (webTime){
get('web').innerHTML=time2String(time=webTime);
})
get('locale').innerHTML=time2String(new Date);
get('time').innerHTML=int2time(targetTime-time);
if ((targetTime-time)<0) {
get('time').innerHTML = 'Game Over';
}
},1000)
</script>
</head>
<body>
設定時間:2012年12月31日0時0分0秒<br />
伺服器時間:<span id='web'>loading...</span><br />
本地時間:<span id="locale">loading...</span><br />
倒計時時間:<span id="time">loading...</span>
<script type="text/javascript" charset="utf-8">
targetTime=new Date(2012,12,31,00,00,00);
</script>
</body>
</html>

與js同步伺服器時間相關的知識