原理是提取网站http应答报文中的时间信息。
1. 以下是javascript获取服务器时间的测试代码:
var xhr = null;
if(window.XMLHttpRequest){
xhr = new window.XMLHttpRequest();
}else{
xhr = new ActiveObject("Microsoft")
}
xhr.open("HEAD","http://指定网址",false); //此处为同步模式,异步模式请自己修改
xhr.send(null);
var dstr=xhr.getResponseHeader("Date");
var date=new Date(dstr);
(测试结果:受到跨域保护,blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource)
如果利用jquery:
var dstr=$.ajax({async:false}).getResponseHeader("Date");
(未测试,估计也不行)
2. 以下是java获取服务器时间的测试代码:
import java.net.*;
import java.io.*;
import java.util.*;
public class ServerTime {
public static void main(String[] args) throws Exception {
URL url=new URL("http://指定网址");
URLConnection uc=url.openConnection();
uc.connect();
long st=uc.getDate(); //获得时间戳
Date dl=new Date(st); //转换为时间对象
//输出
System.out.println(d1);;
}
}
注:不要用此方法来获取本站时间(www.bjtime.cn)
© time.org.cn