【得捷电子Follow me第1期】任务3:同步网络时间
[复制链接]
本帖最后由 doudoubaba 于 2023-6-26 23:08 编辑
NTP全称是Network Time Protocol,网络时间协议,是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正。
from machine import RTC
import time
import network
import ntptime
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('xiaogui', '88888888')
def RTCdate(flag, timezone=8):
#print("开始同步网络时间")
try:
rtc = RTC()
now = time.time()
now += timezone * 3600
dt = time.localtime(now)
date_str = "{}年{}月{}日".format(dt[0], dt[1], dt[2])
time_str = "{}:{}:{}".format(zero_str(dt[3]), zero_str(dt[4]), zero_str(dt[5]))
if flag == 0:
return date_str
else:
return time_str
except Exception as e:
print("同步NTP时间错误",repr(e))
# 补零函数
def zero_str(str_num):
num=int(str_num)
num_str=None
if num>9:
num_str=str_num
else:
num_str="0"+str(str_num)
return num_str
#NTP校时
ntptime.host = 'ntp1.aliyun.com'
ntptime.settime()
print(RTCdate(0),RTCdate(1))
|