MicroPython获取正确的当前时间

时间:2019-12-12 01:55:16

标签: python micropython

因为micropython无法导入日期时间。

我想使用时间或utime模块获取当前时间。

但是time.localtime()结果是 像(2000, 1, 1, 0, 12, 35, 5, 1)

我想时间从2000/1/1开始。

如何设置开始时间?

还是其他建议的方法可以得出正确的结果?

谢谢!

2 个答案:

答案 0 :(得分:1)

使用RTC设置时间:

from pyb import RTC   # or import from machine depending on your micropython version
rtc = RTC()
rtc.datetime((2019, 5, 1, 4, 13, 0, 0, 0))

然后,您可以只使用time.localtime()和字符串格式来使它看起来如您所愿。

答案 1 :(得分:0)

您可以使用图书馆通过NTP协议通过Internet设置时间。您必须连接互联网,例如esp32上的wifi

import ntptime
import time

#if needed, overwrite default time server
ntptime.host = "1.europe.pool.ntp.org"

try:
  print("Local time before synchronization:%s" %str(time.localtime()))
  #make sure to have internet connection
  ntptime.settime()
  print("Local time after synchronization:%s" %str(time.localtime()))
except:
  print("Error syncing time")