gpt4 book ai didi

java - 如何使用 Internet 时间服务器获取时间?

转载 作者:太空狗 更新时间:2023-10-29 23:02:35 25 4
gpt4 key购买 nike

我想获取 GMT [格林威治标准时间],而且我不想为此依赖我的系统日期时间。基本上,我想使用像 in.pool.ntp.org [ India ] 这样的时间同步服务器进行 GMT 计算,或者我可能走错了方向!

如何在 java 中执行此操作?

有没有java库可以从时间服务器获取时间?

最佳答案

sp0d 不太对:

timeInfo.getReturnTime(); // Returns time at which time message packet was received by local machine

所以它只返回当前系统时间,而不是接收到的时间。参见 TimeInfo man page .
你应该使用

timeInfo.getMessage().getTransmitTimeStamp().getTime();

相反。
所以代码块将是:

String TIME_SERVER = "time-a.nist.gov";   
NTPUDPClient timeClient = new NTPUDPClient();
InetAddress inetAddress = InetAddress.getByName(TIME_SERVER);
TimeInfo timeInfo = timeClient.getTime(inetAddress);
long returnTime = timeInfo.getMessage().getTransmitTimeStamp().getTime();
Date time = new Date(returnTime);

关于java - 如何使用 Internet 时间服务器获取时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4442192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com