ntptime --- 简单的 NTP 客户端

本模块提供了一个用于网络时间协议(NTP)的小型客户端,可用于从互联网时间服务器获取当前的 UTC 时间,并可选择性地设置板载实时时钟。它向 NTP 服务器执行一次 UDP 请求,并对返回的 64 位时间戳进行解码。

本模块依赖于正常的网络连接。其 32 位的传输时间戳会自动校正 2036 年的 NTP 翻转问题,使该实现在 2160 年 2 月之前一直有效。

函数

ntptime.time() int

查询所配置的 NTP 服务器(host),并以自 MicroPython 纪元起的整数秒数返回当前的 UTC 时间。

MicroPython 纪元在运行时通过 time.gmtime() 检测。支持 1970 年(Unix)和 2000 年两种纪元;任何其他纪元都会引发 Exception

网络错误会传播给调用者;底层套接字在返回前始终会被关闭。

ntptime.settime() None

使用 time() 获取当前时间,并据此通过 machine.RTC 设置板载 RTC。

请注意,MicroPython 不支持时区:RTC 始终以 UTC 设置。

常量

ntptime.host: str

要查询的 NTP 服务器的主机名。默认为 "pool.ntp.org"。可在运行时重新赋值以覆盖,例如 ntptime.host = "time.google.com"

ntptime.timeout: int

应用于 NTP UDP 请求的套接字超时时间(以秒为单位)。默认为 1。在缓慢或高延迟的网络上可增大此值。