我正在创建一个python模块,它将从一个选择的NTP池服务器输出时间到毫秒精度,作为展示服务器时间戳如何变化的练习。到目前为止,我已经能够打印出源服务器的时间戳精度在一秒钟之内,但是如何才能获得毫秒精度呢?在
ntp_pool = '0.pool.ntp.org', \
'uk.pool.ntp.org', \
'ie.pool.ntp.org'
def get_ntp_time():
for item in ntp_pool:
call = ntplib.NTPClient()
response = call.request(item, version=3)
print(time.ctime(response.orig_time))
for循环可能会给结果着色,因为在每次迭代中都会有时间流逝。在
在任何情况下,ntp响应是一个具有微秒精度的时间戳,因此限制似乎在^{} 之内,这只会下降到秒精度
您可以使用^{} 代替,也可以选择使用
strftime
使其更漂亮。我的示例半心半意地模拟了现有代码的输出。在我认为这里有点误导:
response.orig_time
是发出请求的客户端的时间,而不是服务器的时间。参见IETF RFC5905,p.23:“origintimestamp(org):请求离开服务器时客户端的时间[…]”。代码的最新版本应该类似于…会给我例如
^{pr2}$注意,根据信号传输的距离,如果您查找毫秒,往返延迟(
response.delay
)可能很重要。在相关问题 更多 >
编程相关推荐