Genaues Abrufen der Zeit von Internet-Zeitservern in Java
Die genaue Synchronisierung der Zeit ist für viele Anwendungen von entscheidender Bedeutung. Sich ausschließlich auf die Zeiteinstellungen eines lokalen Systems zu verlassen, kann zu Inkonsistenzen führen. In diesem Artikel wird untersucht, wie Sie Internet-Zeitserver wie in.pool.ntp.org nutzen können, um die maßgebliche Greenwich Mean Time (GMT) in Java zu erhalten.
Java-Bibliothek für Zeitsynchronisation
Um die Zeit von einem externen Server abzurufen, stellt Java die Bibliothek javax.time.ntp bereit. Es ermöglicht den Zugriff auf das Network Time Protocol (NTP), ein standardisiertes Protokoll zur Zeitsynchronisierung.
Zeit mit NTP abrufen
Hier ist ein Codeausschnitt zum Abrufen der Zeit von a Zeitserver:
import javax.time.ntp.NTPUDPClient; import javax.time.ntp.TimeInfo; import java.net.InetAddress; import java.util.Date; public class TimeSync { public static void main(String[] args) throws Exception { // Specify the time server hostname String TIME_SERVER = "in.pool.ntp.org"; // Create an NTP UDP client NTPUDPClient timeClient = new NTPUDPClient(); // Get the server's IP address InetAddress inetAddress = InetAddress.getByName(TIME_SERVER); // Retrieve time information from the server TimeInfo timeInfo = timeClient.getTime(inetAddress); // Get the time at which the packet was sent by the server long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime(); // Convert the epoch time to a Date object Date time = new Date(returnTime); // Print the synchronized time System.out.println("Current GMT time: " + time); } }
Hinweis: NTP-Server stellen normalerweise Zeitstempel mit hoher Präzision bereit. Für eine optimale Genauigkeit sollten Sie mehrere Anfragen an den Server stellen und die Ergebnisse mitteln.
Das obige ist der detaillierte Inhalt vonWie kann ich die Zeit genau von Internet-Zeitservern in Java abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!