前端能獲得的時間有兩種:客戶端與伺服器的時間. 如何獲取伺服器當前時間,主要是處理客戶端本地機器時間錯誤問題。 方法一:原理:獲取伺服器返回的頭部信息中的Date屬性 由於得到的是GMT(格林尼治時間) 所以要轉換成東八區的時間 這個就是響應伺服器的當前時間。var date = new Date( ...
前端能獲得的時間有兩種:客戶端與伺服器的時間.
如何獲取伺服器當前時間,主要是處理客戶端本地機器時間錯誤問題。
方法一:
原理:獲取伺服器返回的頭部信息中的Date屬性
由於得到的是GMT(格林尼治時間)
所以要轉換成東八區的時間
這個就是響應伺服器的當前時間。
var date = new Date($.ajax({async: false}).getResponseHeader("Date"));
var bom= date + (3600000 * 8);
var time = new Date(bom);
方法二:
原理:在 HTTP 頭裡帶一個Date的頭部信息,用Ajax直接取頭部信息里的Date就可獲取伺服器時間
-------------原生js寫法-------------
var xhr = new XMLHttpRequest();
if( !xhr ){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("HEAD",location.href,true);
xhr.onreadystatechange=function(){
if( xhr.readyState == 4 && xhr.status == 200 ){
alert(xhr.getResponseHeader("Date"));
}
}
xhr.send(null);
-------------jquery寫法-------------
var time;
$.ajax({type:'HEAD', async: true})
.success(function(data, status, xhr){
time=xhr.getResponseHeader('Date');
});
方法三:
在script中加一個 runat="server" 屬性,表示是在伺服器環境下,即如下:
<Script runat="server" language="javascript"></script>