『壹』 java獲取網路當前時間
如果你要獲取的是Internet時間,可以使用NTP服務。
NTP概念簡介
Network Time Protocol(NTP)是用來使計算機時間同步化的一種協議,它可以使計算機對其伺服器或時鍾源(如石英鍾,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標准間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。
java實現:
importjava.io.InputStream;
importjava.net.Socket;
publicclassTimeUtil{
publicstaticfinalintDEFAULT_PORT=37;//NTP伺服器埠
_HOST="time-nw.nist.gov";//NTP伺服器地址
privateTimeUtil(){
};
(Booleansync){
if(sync!=null&&sync.booleanValue()!=true)
returnSystem.currentTimeMillis();
try{
returnsyncCurrentTime();
}catch(Exceptione){
returnSystem.currentTimeMillis();
}
}
()throwsException{
//,
//thejavaDateclassat1970.Thisnumber
//convertsbetweenthem.
longdifferenceBetweenEpochs=2208988800L;
//Ifyou'
//.
/*
*TimeZonegmt=TimeZone.getTimeZone("GMT");Calendarepoch1900=
*Calendar.getInstance(gmt);epoch1900.set(1900,01,01,00,00,00);
*longepoch1900ms=epoch1900.getTime().getTime();Calendarepoch1970
*=Calendar.getInstance(gmt);epoch1970.set(1970,01,01,00,00,00);
*longepoch1970ms=epoch1970.getTime().getTime();
*
*longdifferenceInMS=epoch1970ms-epoch1900ms;long
*differenceBetweenEpochs=differenceInMS/1000;
*/
InputStreamraw=null;
try{
SockettheSocket=newSocket(DEFAULT_HOST,DEFAULT_PORT);
raw=theSocket.getInputStream();
longsecondsSince1900=0;
for(inti=0;i<4;i++){
secondsSince1900=(secondsSince1900<<8)|raw.read();
}
if(raw!=null)
raw.close();
longsecondsSince1970=secondsSince1900-differenceBetweenEpochs;
longmsSince1970=secondsSince1970*1000;
returnmsSince1970;
}catch(Exceptione){
thrownewException(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
『貳』 如何讓電腦時間與網路同步
如果時間同步失敗
當您單擊「立即更新」按鈕時,時鍾應立即同步。如果該操作失敗,可能出於以下幾個原因:
1.可能在此之前,你已經嘗試過時間同步了。
2.沒有連接到 Internet。在試圖同步時鍾前創建 Internet 連接。
3.個人或網路防火牆阻止時鍾同步。大多數公司或組織的防火牆同一些個人防火牆一樣會阻礙時鍾同步。家庭用戶應閱讀防火牆文檔以得到關於消除網路時間協議 (NTP) 障礙的信息。如果切換到了 Windows 防火牆,則應該可以同步時鍾。
3.Internet 時間伺服器正忙,或者暫時不可用。如果屬於這種情況的話,可以試著稍後再同步您的時鍾或通過雙擊任務欄上的時鍾來手動更新。也可以試著採用另外一個不同的時間伺服器。
4.計算機上顯示的時間與 Internet 時間伺服器的當前時間有很大的差別。如果計算機的時間與 Internet 時間伺服器的時間相比,滯後值超過 15 個小時,則 Internet 時間伺服器無法同步您的計算機時鍾。若要正確地同步時間,請確保時間和日期設置值接近位於「控制面板」中「日期和時間屬性」中的當前時間。
『叄』 如何調整電腦時間與網路時間同步
點擊桌面右下角的時間,在彈出框內點擊更改日期時間設置,
在彈出框內選擇Internet選項,
點擊更改設置,要同步Internet時間的前置條件是得啟動你windows time服務,下面會介紹到如何啟動windows的時間服務。如果windows時間服務已啟動直接在彈出框點立即更新即可。
找到我的電腦,右鍵在彈出選項框中選擇管理,會出現如下頁面
找到最下面的服務和應用程序單擊那個小三角,在展開選項中選擇服務,會出現windows的服務
在列表中找到windows Time服務,選中之後在又上角會顯示啟動服務的按鈕,點擊啟動
啟動之後關於此服務右上角的操作按鈕會變為停止或重新啟動,如此你的電腦時間會自動跟網路同步。