diff options
Diffstat (limited to 'lib/python/qmk/datetime.py')
| -rw-r--r-- | lib/python/qmk/datetime.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/python/qmk/datetime.py b/lib/python/qmk/datetime.py new file mode 100644 index 000000000..4bffcc621 --- /dev/null +++ b/lib/python/qmk/datetime.py | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | """Functions to work with dates and times in a uniform way. | ||
| 2 | |||
| 3 | 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. | ||
| 4 | """ | ||
| 5 | from time import gmtime, strftime | ||
| 6 | |||
| 7 | from qmk.constants import DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT | ||
| 8 | from qmk.decorators import lru_cache | ||
| 9 | |||
| 10 | |||
| 11 | @lru_cache(timeout=5) | ||
| 12 | def current_date(): | ||
| 13 | """Returns the current time in UTZ as a formatted string. | ||
| 14 | """ | ||
| 15 | return strftime(DATE_FORMAT, gmtime()) | ||
| 16 | |||
| 17 | |||
| 18 | @lru_cache(timeout=5) | ||
| 19 | def current_datetime(): | ||
| 20 | """Returns the current time in UTZ as a formatted string. | ||
| 21 | """ | ||
| 22 | return strftime(DATETIME_FORMAT, gmtime()) | ||
| 23 | |||
| 24 | |||
| 25 | @lru_cache(timeout=5) | ||
| 26 | def current_time(): | ||
| 27 | """Returns the current time in UTZ as a formatted string. | ||
| 28 | """ | ||
| 29 | return strftime(TIME_FORMAT, gmtime()) | ||
