kopia lustrzana https://github.com/micropython/micropython-lib
time: Initial cut at implementing strftime() (via ffi).
rodzic
e413ba6d87
commit
8c7a4194d7
|
@ -0,0 +1,3 @@
|
|||
import time
|
||||
|
||||
print(time.strftime("%Y-%m-%d %H:%M:%S"))
|
|
@ -1,3 +1,3 @@
|
|||
srctype = dummy
|
||||
srctype = micropython-lib
|
||||
type = module
|
||||
version = 0.0.1
|
||||
version = 0.1
|
||||
|
|
|
@ -6,9 +6,9 @@ from setuptools import setup
|
|||
|
||||
|
||||
setup(name='micropython-time',
|
||||
version='0.0.1',
|
||||
description='Dummy time module for MicroPython',
|
||||
long_description='This is a dummy implementation of a module for MicroPython standard library.\nIt contains zero or very little functionality, and primarily intended to\navoid import errors (using idea that even if an application imports a\nmodule, it may be not using it onevery code path, so may work at least\npartially). It is expected that more complete implementation of the module\nwill be provided later. Please help with the development if you are\ninterested in this module.',
|
||||
version='0.1',
|
||||
description='time module for MicroPython',
|
||||
long_description="This is a module reimplemented specifically for MicroPython standard library,\nwith efficient and lean design in mind. Note that this module is likely work\nin progress and likely supports just a subset of CPython's corresponding\nmodule. Please help with the development if you are interested in this\nmodule.",
|
||||
url='https://github.com/micropython/micropython/issues/405',
|
||||
author='MicroPython Developers',
|
||||
author_email='micro-python@googlegroups.com',
|
||||
|
|
25
time/time.py
25
time/time.py
|
@ -1 +1,26 @@
|
|||
from utime import *
|
||||
import ffi
|
||||
import _libc
|
||||
import array
|
||||
|
||||
libc = _libc.get()
|
||||
|
||||
# struct tm *gmtime(const time_t *timep);
|
||||
# struct tm *localtime(const time_t *timep);
|
||||
# size_t strftime(char *s, size_t max, const char *format,
|
||||
# const struct tm *tm);
|
||||
gmtime_ = libc.func("P", "gmtime", "P")
|
||||
localtime_ = libc.func("P", "localtime", "P")
|
||||
strftime_ = libc.func("i", "strftime", "sisP")
|
||||
|
||||
|
||||
def strftime(format, t=None):
|
||||
if t is None:
|
||||
t = time()
|
||||
|
||||
t = int(t)
|
||||
a = array.array('i', [t])
|
||||
tm_p = localtime_(a)
|
||||
buf = bytearray(32)
|
||||
l = strftime_(buf, 32, format, tm_p)
|
||||
return str(buf[:l], "utf-8")
|
||||
|
|
Ładowanie…
Reference in New Issue