gpt4 book ai didi

python - 如何从 NTP 服务器获取时间?

转载 作者:行者123 更新时间:2023-11-28 16:26:04 25 4
gpt4 key购买 nike

我需要从 NTP 服务器获取英国时间。在网上找到了一些东西,但是每当我尝试代码时,我总是会得到一个返回日期时间,和我的电脑一样。我更改了我计算机上的时间以确认这一点,我总是得到它,所以它不是来自 NTP 服务器。

import ntplib
from time import ctime
c = ntplib.NTPClient()
response = c.request('uk.pool.ntp.org', version=3)
response.offset
print (ctime(response.tx_time))
print (ntplib.ref_id_to_text(response.ref_id))

x = ntplib.NTPClient()
print ((x.request('ch.pool.ntp.org').tx_time))

最佳答案

这会起作用(Python 3):

import socket
import struct
import sys
import time

def RequestTimefromNtp(addr='0.de.pool.ntp.org'):
REF_TIME_1970 = 2208988800 # Reference time
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
data = b'\x1b' + 47 * b'\0'
client.sendto(data, (addr, 123))
data, address = client.recvfrom(1024)
if data:
t = struct.unpack('!12I', data)[10]
t -= REF_TIME_1970
return time.ctime(t), t

if __name__ == "__main__":
print(RequestTimefromNtp())

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

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