【代码】Python3实现从NTP服务器同步时间

前言

Python3实现从NTP服务器同步时间

源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
import socket, struct, datetime

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client.settimeout(1.5)
client.sendto(b'\x1b' + 47 * b'\0', ("time1.aliyun.com", 123))
data = client.recvfrom(1024)[0]
client.close()

current_timestamp = struct.unpack('!12I', data)[10] - 2208988800
print(current_timestamp)

current_beijing_time = datetime.datetime.fromtimestamp(current_timestamp, tz=datetime.timezone(datetime.timedelta(hours=8)))
print(current_beijing_time)

完成