kopia lustrzana https://github.com/micropython/micropython-lib
80 wiersze
2.1 KiB
Python
80 wiersze
2.1 KiB
Python
from utime import *
|
|
from micropython import const
|
|
|
|
_TS_YEAR = const(0)
|
|
_TS_MON = const(1)
|
|
_TS_MDAY = const(2)
|
|
_TS_HOUR = const(3)
|
|
_TS_MIN = const(4)
|
|
_TS_SEC = const(5)
|
|
_TS_WDAY = const(6)
|
|
_TS_YDAY = const(7)
|
|
_TS_ISDST = const(8)
|
|
|
|
_WDAY = const(("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"))
|
|
_MDAY = const(
|
|
(
|
|
"January",
|
|
"February",
|
|
"March",
|
|
"April",
|
|
"May",
|
|
"June",
|
|
"July",
|
|
"August",
|
|
"September",
|
|
"October",
|
|
"November",
|
|
"December",
|
|
)
|
|
)
|
|
|
|
|
|
def strftime(datefmt, ts):
|
|
from io import StringIO
|
|
|
|
fmtsp = False
|
|
ftime = StringIO()
|
|
for k in datefmt:
|
|
if fmtsp:
|
|
if k == "a":
|
|
ftime.write(_WDAY[ts[_TS_WDAY]][0:3])
|
|
elif k == "A":
|
|
ftime.write(_WDAY[ts[_TS_WDAY]])
|
|
elif k == "b":
|
|
ftime.write(_MDAY[ts[_TS_MON] - 1][0:3])
|
|
elif k == "B":
|
|
ftime.write(_MDAY[ts[_TS_MON] - 1])
|
|
elif k == "d":
|
|
ftime.write("%02d" % ts[_TS_MDAY])
|
|
elif k == "H":
|
|
ftime.write("%02d" % ts[_TS_HOUR])
|
|
elif k == "I":
|
|
ftime.write("%02d" % (ts[_TS_HOUR] % 12))
|
|
elif k == "j":
|
|
ftime.write("%03d" % ts[_TS_YDAY])
|
|
elif k == "m":
|
|
ftime.write("%02d" % ts[_TS_MON])
|
|
elif k == "M":
|
|
ftime.write("%02d" % ts[_TS_MIN])
|
|
elif k == "P":
|
|
ftime.write("AM" if ts[_TS_HOUR] < 12 else "PM")
|
|
elif k == "S":
|
|
ftime.write("%02d" % ts[_TS_SEC])
|
|
elif k == "w":
|
|
ftime.write(str(ts[_TS_WDAY]))
|
|
elif k == "y":
|
|
ftime.write("%02d" % (ts[_TS_YEAR] % 100))
|
|
elif k == "Y":
|
|
ftime.write(str(ts[_TS_YEAR]))
|
|
else:
|
|
ftime.write(k)
|
|
fmtsp = False
|
|
elif k == "%":
|
|
fmtsp = True
|
|
else:
|
|
ftime.write(k)
|
|
val = ftime.getvalue()
|
|
ftime.close()
|
|
return val
|