如何计算服务器时间和GMT时间之间的确切时差?

问题描述

如何计算服务器时间和GMT时间之间的确切时差? 我想在特定时间向服务器发送POST请求,但是我知道服务器时间不准确,因此我想计算服务器时钟的不准确度(毫秒)以按时发送请求。会阻止我) 我在ubuntu上尝试了此代码,但只显示服务器时间。

curl -I --silent www.server.com | grep "^Date"

如果我可以计算出我的电脑和服务器时钟之间的差异,那对我很有帮助。

解决方法

当然有很多选择。这是一个建议。

编写运行您的curlgrep命令的shell脚本或.bat文件,将结果馈送到您编写的程序中。

用Java或Java虚拟机上运行的另一种语言编写程序,因为尽管所有主要的编程语言都可以,但是这可能对日期和时间有最好的支持。

在您的程序中,您可以使用DateTimeFormatter.RFC_1123_DATE_TIME将服务器时间解析为OffsetDateTime。将PC时间作为另一个OffsetDateTime,然后使用Duration.between()来找出差异(正数或负数)。

请注意,从读取服务器时间到读取PC时间会有延迟,因此结果将不准确。如果您想更好地估计上下限,则可以在读取服务器时间前后读取PC时间。

链接