diff options
| author | 2020-01-30 21:12:31 +0000 | |
|---|---|---|
| committer | 2020-01-30 21:20:56 +0000 | |
| commit | d0d5cc4d0866d44eed652221940035d855296253 (patch) | |
| tree | 1683eb3aaf56b457835fb0229379530a7013280d /src/utils/datetime/common.py | |
| parent | replace "/" in channel logfile names with "," (diff) | |
| signature | ||
split utils.datetime out in to .parse and .format
Diffstat (limited to 'src/utils/datetime/common.py')
| -rw-r--r-- | src/utils/datetime/common.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/utils/datetime/common.py b/src/utils/datetime/common.py new file mode 100644 index 00000000..7235fbab --- /dev/null +++ b/src/utils/datetime/common.py @@ -0,0 +1,42 @@ +import datetime as _datetime +import enum + +ISO8601_FORMAT_DT = "%Y-%m-%dT%H:%M:%S" +ISO8601_FORMAT_TZ = "%z" + +TIME_HUMAN = "%H:%M:%S" +DATE_HUMAN = "%Y-%m-%d" + +class TimeSpec(enum.Enum): + NORMAL = 1 + MILLISECOND = 2 + +TIME_SECOND = 1 +TIME_MINUTE = TIME_SECOND*60 +TIME_HOUR = TIME_MINUTE*60 +TIME_DAY = TIME_HOUR*24 +TIME_WEEK = TIME_DAY*7 + +SECONDS_MINUTES = 60 +SECONDS_HOURS = SECONDS_MINUTES*60 +SECONDS_DAYS = SECONDS_HOURS*24 +SECONDS_WEEKS = SECONDS_DAYS*7 + +UNIT_MINIMUM = 6 +UNIT_SECOND = 5 +UNIT_MINUTE = 4 +UNIT_HOUR = 3 +UNIT_DAY = 2 +UNIT_WEEK = 1 +UNIT_MONTH = 1 +UNIT_YEAR = 1 + +def utcnow() -> _datetime.datetime: + return _datetime.datetime.utcnow().replace(tzinfo=_datetime.timezone.utc) + +def timestamp(seconds: float) -> _datetime.datetime: + return _datetime.datetime.fromtimestamp(seconds).replace( + tzinfo=_datetime.timezone.utc) + +def seconds_since(dt: _datetime.datetime) -> float: + return (utcnow()-dt).total_seconds() |
