qmk_firmware/lib/python/qmk/datetime.py
Zach White 0c42f91f4c
Generate api data on each push (#10609)
* add new qmk generate-api command, to generate a complete set of API data.

* Generate api data and push it to the keyboard repo

* fix typo

* Apply suggestions from code review

Co-authored-by: Joel Challis <git@zvecr.com>

* fixup api workflow

* remove file-changes-action

* use a more mainstream github action

* fix yaml error

* Apply suggestions from code review

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

* more uniform date handling

* make flake8 happy

* Update lib/python/qmk/decorators.py

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-10-25 14:48:44 -07:00

30 lines
894 B
Python

"""Functions to work with dates and times in a uniform way.
The results of these functions are cached for 5 seconds to provide uniform time strings across short running processes. Long running processes that need more precise timekeeping should not use these functions.
"""
from time import gmtime, strftime
from qmk.constants import DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT
from qmk.decorators import lru_cache
@lru_cache(timeout=5)
def current_date():
"""Returns the current time in UTZ as a formatted string.
"""
return strftime(DATE_FORMAT, gmtime())
@lru_cache(timeout=5)
def current_datetime():
"""Returns the current time in UTZ as a formatted string.
"""
return strftime(DATETIME_FORMAT, gmtime())
@lru_cache(timeout=5)
def current_time():
"""Returns the current time in UTZ as a formatted string.
"""
return strftime(TIME_FORMAT, gmtime())