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()) | ||