aboutsummaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorGravatar jesopo2020-01-17 15:57:30 +0000
committerGravatar jesopo2020-01-17 15:57:30 +0000
commite4d71f6c0c1bef9a30f8a38ccdf77ccb1082e42c (patch)
tree8f54890b315191b362b317b5bce2118ce4202c5b /src/utils
parentexport function for formatting activity lines (diff)
signature
add dateutil as a dependency, use it in utils.datetime.iso8601_parse
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/datetime.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/utils/datetime.py b/src/utils/datetime.py
index 3ed03088..dbed6f02 100644
--- a/src/utils/datetime.py
+++ b/src/utils/datetime.py
@@ -1,8 +1,6 @@
import re, typing
import datetime as _datetime
-
-ISO8601_PARSE = "%Y-%m-%dT%H:%M:%S%z"
-ISO8601_PARSE_MICROSECONDS = "%Y-%m-%dT%H:%M:%S.%f%z"
+import dateutil.parser
ISO8601_FORMAT_DT = "%Y-%m-%dT%H:%M:%S"
ISO8601_FORMAT_TZ = "%z"
@@ -27,9 +25,9 @@ def iso8601_format(dt: _datetime.datetime, milliseconds: bool=False) -> str:
return "%s%s%s" % (dt_format, ms_format, tz_format)
def iso8601_format_now(milliseconds: bool=False) -> str:
return iso8601_format(utcnow(), milliseconds=milliseconds)
-def iso8601_parse(s: str, microseconds: bool=False) -> _datetime.datetime:
- fmt = ISO8601_PARSE_MICROSECONDS if microseconds else ISO8601_PARSE
- return _datetime.datetime.strptime(s, fmt)
+
+def iso8601_parse(s: str) -> _datetime.datetime:
+ return dateutil.parser.isoparse(s)
def datetime_human(dt: _datetime.datetime):
return _datetime.datetime.strftime(dt, DATETIME_HUMAN)