ntptime - 网络时间同步
2023-08-31
该模块用于网络时间同步。
BC25PA平台电信卡开卡时需要说明SIM卡须支持此类业务,移动联通一般不限制(开卡时需要和运营商确认)。
获取ntp服务器
ntptime.host
ntptime.host
返回值描述:
- 返回当前的ntp服务器,默认为"ntp.aliyun.com"。
设置ntp服务器
ntptime.sethost
ntptime.sethost(host)
参数描述:
host
- ntp服务器地址,字符串类型
返回值描述:
- 成功返回整型值0,失败返回整型值-1。
同步ntp时间
ntptime.settime
ntptime.settime(timezone=0, use_rhost=1, timeout=10)
参数描述:
timezone
- int类型,可选参数,时区设置,默认为0, 范围 (-12~12)。(-数为西时区,正数为东时区)use_rhost
- int类型,可选参数,ntptime.host 对时失败时,是否使用备用服务器继续尝试对时,默认为1,使用备用服务器,设为0时,仅使用ntptime.host对时。timeout
- int类型,可选参数,socket网络请求超时时间(单位为秒),默认为10,范围:>0。
返回值描述:
- 成功返回整型值
0
,失败返回整型值-1
。
示例:
import ntptime
import log
import utime
import checkNet
'''
下面两个全局变量是必须有的,用户可以根据自己的实际项目修改下面两个全局变量的值
'''
PROJECT_NAME = "QuecPython_NTP_example"
PROJECT_VERSION = "1.0.0"
checknet = checkNet.CheckNetwork(PROJECT_NAME, PROJECT_VERSION)
# 设置日志输出级别
log.basicConfig(level=log.INFO)
ntp_log = log.getLogger("NtpTime")
if __name__ == '__main__':
stagecode, subcode = checknet.wait_network_connected(30)
if stagecode == 3 and subcode == 1:
ntp_log.info('Network connection successful!')
# 查看默认ntp服务
ntp_log.info(ntptime.host)
# 设置ntp服务
ntptime.sethost('pool.ntp.org')
# 同步ntp服务时间
ntptime.settime()
else:
ntp_log.info('Network connection failed! stagecode = {}, subcode = {}'.format(stagecode, subcode))