本文給大家總結了一下使用javascript來獲取服務器時間的幾種方法和思路,十分的簡單明了,有需要的小伙伴可以參考下
JS是在客戶端運行的腳本,而不是運行在服務器上,通常來說,通過JS獲取時間的時候獲取到的時間是訪客本地電腦上的時間,為了讓網頁上的時間不因訪客電腦差異而不同,我們有必要直接JS獲取服務器時間。
下面是完整的js獲取服務器時間代碼,是使用javascript獲取服務器時間的完整實例,js動態刷新服務器時間。
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>AJAX獲取服務器時間</title>
- <script type="text/javascript">
- /*
- * ajax 函數,處理 ajax 請求
- * @param function callback 回調函數
- * @因為要和服務器交互,所以必須在服務器環境運行,不能在硬盤上直接打開
- */
- function ajax(callback){
- if(typeof callback!='function') return;
- var ajaxObject;
- try{
- ajaxObject=new XMLHttpRequest();
- }catch(e){
- try{
- ajaxObject=new ActiveXObject('Microsoft.XMLHTTP');
- }catch(e){
- }
- }
- if(!ajaxObject) return;
- if(ajaxObject.overrideMimeType){
- ajaxObject.overrideMimeType('text/html');
- }
- //location.href可以換成其他url,但必須是同一個站點的鏈接,并且文件存在
- ajaxObject.open('get',location.href);
- ajaxObject.send(null);
- ajaxObject.onreadystatechange=function(){
- if(ajaxObject.readyState==4){
- if(ajaxObject.status==200){
- callback(ajaxObject);
- }
- }
- };
- }
- /*
- * 獲取時間并動態刷新
- */
- function getTime(){
- ajax(
- function(ao){
- //只需要AJAX一次,將服務器時間獲取后以毫米為單位保存到一個變量中
- _timestamp=Date.parse(ao.getResponseHeader('Date'));
- _timestamp=_timestamp.toString().match(/^/d$/)?_timestamp:new Date().getTime();
- //設置定時器每過一秒動態刷新一次時間
- setInterval(
- function(){
- //這里可以自定義時間顯示格式
- document.getElementById('_timer').innerHTML=new Date(_timestamp).toLocaleString();
- _timestamp+=1000;
- },
- 1000
- );
- }
- );
- }
- window.onload=getTime;
- </script>
- </head>
- <body>
- <div id="_timer">正在獲取服務器時間……</div>
- </body>
- </html>
思路分析:
服務器端時間這個概念很模糊。因為服務器端畢竟可能不是由一臺機器組成的。最簡單的情況,也分web服務器和db服務器。你說的究竟是哪一種
如果是web服務器。
那么直接在java或者.net那頭new Date()就ok了
不要在網頁中的
2.
將Servlet的返回流中寫入一個js文件,使其當中的var nowDate = 服務器端時間
3.ajax,這個就不說了,網上一大堆
以上所述就是本文的全部內容了,希望大家能夠喜歡。
新聞熱點
疑難解答
圖片精選