keyboard stuff
1"""Functions to work with dates and times in a uniform way.
2
3The 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"""
5from time import gmtime, strftime
6
7from qmk.constants import DATE_FORMAT, DATETIME_FORMAT, TIME_FORMAT
8from qmk.decorators import lru_cache
9
10
11@lru_cache(timeout=5)
12def 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)
19def 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)
26def current_time():
27 """Returns the current time in UTZ as a formatted string.
28 """
29 return strftime(TIME_FORMAT, gmtime())