如何获取服务器当前时间

前端能获得的时间有两种:客户端与服务器的时间.

如何获取服务器当前时间,主要是处理客户端本地机器时间错误问题。

方法一:
原理:获取服务器返回的头部信息中的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>

posted on 2016-07-27 19:15  柔光  阅读(18659)  评论(0编辑  收藏  举报

导航