如何计算服务器时间和 GMT 时间之间的确切差异?
How can I calculate exact difference between a server time and GMT time?
如何计算服务器时间和 GMT 时间之间的准确差异?
我想在特定时间向服务器发送 POST 请求,但我知道服务器时间不准确,所以我想计算服务器时钟(毫秒)的不准确性以按时发送我的请求。(如果我早点发送请求服务器会阻止我)
我在 ubuntu 上尝试了这段代码,但它只显示服务器时间。
curl -I --silent www.server.com | grep "^Date"
如果我能计算出我的电脑和服务器时钟之间的差异,那对我很有帮助。
当然有很多选择。这是一个建议。
编写一个 shell 脚本或 .bat 文件来运行您的 curl
和 grep
命令并将结果输入您编写的程序。
用 Java 或在 Java 虚拟机上运行的其他语言编写程序,因为这可能对处理日期和时间有最好的支持,尽管所有主要编程语言都可以。
在您的程序中,您可以使用 DateTimeFormatter.RFC_1123_DATE_TIME
将服务器时间解析为 OffsetDateTime
。将 PC 时间作为另一个 OffsetDateTime
并使用 Duration.between()
找出差异(正或负)。
请注意,从读取服务器时间到读取 PC 时间会有延迟,因此结果将不准确。如果您想更好地估计上限和下限,请在读取服务器时间之前和之后读取 PC 时间。
链接
- Oracle tutorial: Date Time 解释如何使用 java.time.
- 文档:
如何计算服务器时间和 GMT 时间之间的准确差异? 我想在特定时间向服务器发送 POST 请求,但我知道服务器时间不准确,所以我想计算服务器时钟(毫秒)的不准确性以按时发送我的请求。(如果我早点发送请求服务器会阻止我) 我在 ubuntu 上尝试了这段代码,但它只显示服务器时间。
curl -I --silent www.server.com | grep "^Date"
如果我能计算出我的电脑和服务器时钟之间的差异,那对我很有帮助。
当然有很多选择。这是一个建议。
编写一个 shell 脚本或 .bat 文件来运行您的 curl
和 grep
命令并将结果输入您编写的程序。
用 Java 或在 Java 虚拟机上运行的其他语言编写程序,因为这可能对处理日期和时间有最好的支持,尽管所有主要编程语言都可以。
在您的程序中,您可以使用 DateTimeFormatter.RFC_1123_DATE_TIME
将服务器时间解析为 OffsetDateTime
。将 PC 时间作为另一个 OffsetDateTime
并使用 Duration.between()
找出差异(正或负)。
请注意,从读取服务器时间到读取 PC 时间会有延迟,因此结果将不准确。如果您想更好地估计上限和下限,请在读取服务器时间之前和之后读取 PC 时间。
链接
- Oracle tutorial: Date Time 解释如何使用 java.time.
- 文档: