public static Date getInternetDate(){
URL url;
Date currDate = null;
try {
url = new URL("http://www.bjtime.cn");
//取得资源对象
URLConnection uc=url.openConnection();//生成连接对象
uc.connect(); //发出连接
long ld=uc.getDate(); //取得网站日期时间
currDate =new Date(ld);
} catch (Exception e) {
e.printStackTrace();
}
return currDate;
}
}
---- currDate: Wed Jul 29 01:21:18 CST 2015 实际北京时间应该是 礼拜四 (30号)上午11点多
java获取网络当前时间 时间不对
答案:3 悬赏:30 手机版
解决时间 2021-02-25 12:59
- 提问者网友:感性作祟
- 2021-02-25 04:21
最佳答案
- 五星知识达人网友:动情书生
- 2021-02-25 05:48
www.bjtime.cn的服务器时间是加密的,请从其他网站获取。
全部回答
- 1楼网友:英雄的欲望
- 2021-02-25 08:49
如果你要获取的是internet时间,可以使用ntp服务。 ntp概念简介 network time protocol(ntp)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,gps等等)做同步化,它可以提供高精准度的时间校正(lan上与标准间差小于1毫秒,wan上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。 java实现: import java.io.inputstream; import java.net.socket; public class timeutil { public static final int default_port = 37;//ntp服务器端口 public static final string default_host = "time-nw.nist.gov";//ntp服务器地址 private timeutil() { }; public static long currenttimemillis(boolean sync) { if (sync != null && sync.booleanvalue() != true) return system.currenttimemillis(); try { return synccurrenttime(); } catch (exception e) { return system.currenttimemillis(); } } public static long synccurrenttime() throws exception { // the time protocol sets the epoch at 1900, // the java date class at 1970. this number // converts between them. long differencebetweenepochs = 2208988800l; // if you'd rather not use the magic number uncomment // the following section which calculates it directly. inputstream raw = null; try { socket thesocket = new socket(default_host, default_port); raw = thesocket.getinputstream(); long secondssince1900 = 0; for (int i = 0; i < 4; i++) { secondssince1900 = (secondssince1900 << 8) | raw.read(); } if (raw != null) raw.close(); long secondssince1970 = secondssince1900 - differencebetweenepochs; long mssince1970 = secondssince1970 * 1000; return mssince1970; } catch (exception e) { throw new exception(e); } } } 中国大概能用的ntp时间服务器 server 133.100.11.8 prefer server 210.72.145.44 server 203.117.180.36 //程序中所用的 server 131.107.1.10 server time.asia.apple.com server 64.236.96.53 server 130.149.17.21 server 66.92.68.246 server www.freebsd.org server 18.145.0.30 server clock.via.net server 137.92.140.80 server 133.100.9.2 server 128.118.46.3 server ntp.nasa.gov server 129.7.1.66 server ntp-sop.inria.frserver 210.72.145.44(国家授时中心服务器ip地址) ntpdate 131.107.1.10 ntpdate -s time.asia.apple.com
- 2楼网友:西岸风
- 2021-02-25 07:12
CST是美国时间啊大哥,就是说该连接提供的方法拿的是美国时间
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯