Java의 인터넷 시간 서버에서 정확한 시간 가져오기
정확한 시간 동기화는 많은 애플리케이션에서 매우 중요합니다. 로컬 시스템의 시간 설정에만 의존하면 불일치가 발생할 수 있습니다. 이 기사에서는 in.pool.ntp.org와 같은 인터넷 시간 서버를 활용하여 Java에서 권위 있는 그리니치 표준시(GMT)를 얻는 방법을 살펴봅니다.
시간 동기화를 위한 Java 라이브러리
외부 서버에서 시간을 검색하기 위해 Java는 javax.time.ntp 라이브러리를 제공합니다. 이를 통해 시간 동기화를 위한 표준화된 프로토콜인 NTP(Network Time Protocol)에 액세스할 수 있습니다.
NTP를 사용하여 시간 검색
다음은 NTP에서 시간을 검색하는 코드 조각입니다. 시간 서버:
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); } }
참고: NTP 서버는 일반적으로 높은 정밀도의 타임스탬프를 제공합니다. 최적의 정확성을 얻으려면 서버에 여러 번 요청하고 결과의 평균을 구하는 것이 좋습니다.
위 내용은 Java의 인터넷 시간 서버에서 시간을 정확하게 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!