1

有时候想获取一下当前时间,如果仅仅用JS的Date对象拿当前时间,相当于取客户端的时间。但客户端的时间并不一定可靠,所以希望能拿服务端的时间,但是如果后台没提供获取时间的接口,那么其实可以用下面的方法去获取。

思路就是通过ajax请求,拿Responce中的Date, 变相的拿出了服务端的时间。

原生JS实现:

getServerTime(){
    return new Promise((resolve,reject)=>{
        var xhr = new XMLHttpRequest();
        if( !xhr ){
          xhr = new ActiveXObject("Microsoft.XMLHTTP");  
        }  
        xhr.open("HEAD", location.href, true);  
        xhr.onreadystatechange=function(){  
          resolve(xhr.getResponseHeader("Date"))
        }  
        xhr.send(null);
    })
}
    
getServerTime().then(date=>{
    let curYear = new Date(date).getFullYear();
})    

这个少年有点热丶
363 声望12 粉丝

[链接]