從Java 中的Internet 時間伺服器擷取時間
本討論的重點是從外部來源取得格林威治標準時間(GMT) ,而不是依賴在本機系統上。時間同步伺服器為這項需求提供了解決方案。
基於Java 的方法
要從Java 時間伺服器擷取時間,請考慮以下方法:
使用JNTP 函式庫(或類似的庫)一)
存在外部函式庫來促進此任務。例如,JNTP 提供了用於存取時間伺服器的簡單介面。
建立與時間伺服器的連線
選擇庫後,建立與時間伺服器的連接使用該庫的方法所需的時間伺服器。下面的程式碼使用 JNTP 庫示範了這一點:
import org.jnbt.NTPUDPClient; import org.jnbt.TimeInfo; import java.net.InetAddress; String TIME_SERVER = "time-a.nist.gov"; NTPUDPClient timeClient = new NTPUDPClient(); InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);
檢索時間
根據您使用的庫,檢索時間的方法可能會有所不同。使用 JNTP,您可以像這樣取得伺服器的時間:
TimeInfo timeInfo = timeClient.getTime(inetAddress); long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime(); Date time = new Date(returnTime);
請記住,使用 timeInfo.getReturnTime() 將傳回目前系統時間,而不是接收到的時間。相反,使用 timeInfo.getMessage().getTransmitTimeStamp().getTime().
以上是如何使用 Java 從 Internet 時間伺服器擷取格林威治標準時間 (GMT)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!