Mengambil Masa Dengan Tepat daripada Pelayan Masa Internet di Java
Menyegerakkan masa dengan tepat adalah penting untuk banyak aplikasi. Bergantung sepenuhnya pada tetapan masa sistem setempat boleh menyebabkan ketidakkonsistenan. Artikel ini meneroka cara memanfaatkan pelayan masa Internet seperti in.pool.ntp.org untuk mendapatkan Greenwich Mean Time (GMT) yang berwibawa di Java.
Java Library for Time Synchronization
Untuk mendapatkan masa daripada pelayan luaran, Java menyediakan perpustakaan javax.time.ntp. Ia membenarkan akses kepada Network Time Protocol (NTP), protokol piawai untuk penyegerakan masa.
Mendapatkan Masa Menggunakan NTP
Berikut ialah coretan kod untuk mendapatkan masa daripada pelayan masa:
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); } }
Nota: Pelayan NTP biasanya menyediakan cap masa dengan ketepatan tinggi. Untuk ketepatan optimum, pertimbangkan untuk membuat beberapa permintaan kepada pelayan dan purata hasilnya.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Masa dengan Tepat daripada Pelayan Masa Internet di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!