Rumah > Java > javaTutorial > Bagaimana untuk Mengambil Masa dengan Tepat daripada Pelayan Masa Internet di Java?

Bagaimana untuk Mengambil Masa dengan Tepat daripada Pelayan Masa Internet di Java?

Patricia Arquette
Lepaskan: 2024-11-16 19:44:02
asal
324 orang telah melayarinya

How to Fetch Time Accurately from Internet Time Servers in Java?

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);
    }
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan