首页 >Java >java教程 >如何使用 Java 从 Internet 时间服务器检索格林威治标准时间 (GMT)?

如何使用 Java 从 Internet 时间服务器检索格林威治标准时间 (GMT)?

Patricia Arquette
Patricia Arquette原创
2024-11-20 00:58:02721浏览

How Can I Retrieve Greenwich Mean Time (GMT) from Internet Time Servers in Java?

从 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn