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