如何获取Java程序中与NTP服务器同步的精确时间?

摘要:网络时间协议(英语:Network Time Protocol,NTP)是以封包交换把两台电脑的时钟同步化的网络协议。N

网络时间协议(英语:Network Time Protocol,NTP)是以封包交换把两台电脑的时钟同步化的网络协议。NTP使用UDP端口123作为传输层。它是用作抵销可变延迟的影响。
NTP是仍在使用中的最古老的网络协议之一(在1985年前开始)。NTP最初由德拉瓦州大学的Dave Mills设计,他与一群志愿者仍在维护NTP。

常用的NTP服务器

  1. 中国国家授时中心 NTP 服务器:

    • 服务器地址:ntp.ntsc.ac.cn
    • IP 地址:202.120.2.101
  2. 阿里云 NTP 服务器:

    • 服务器地址:ntp.aliyun.com
    • IP 地址:110.75.8.1
  3. 腾讯云 NTP 服务器:

    • 服务器地址:time.tencentcloud.com
    • IP 地址:119.28.117.206
  4. 华为云 NTP 服务器:

    • 服务器地址:time.hicloud.com
    • IP 地址:120.196.166.232

两个类,一个用于解析NTP消息,另一个根据配置文件使用NTP协议获取时间。由于是JavaEE项目,文件路径使用的ServletActionContext的路径。如果是一般Java项目写成配置所在路径即可。

阅读全文