diff options
| author | 2020-01-17 15:57:30 +0000 | |
|---|---|---|
| committer | 2020-01-17 15:57:30 +0000 | |
| commit | e4d71f6c0c1bef9a30f8a38ccdf77ccb1082e42c (patch) | |
| tree | 8f54890b315191b362b317b5bce2118ce4202c5b | |
| parent | export function for formatting activity lines (diff) | |
| signature | ||
add dateutil as a dependency, use it in utils.datetime.iso8601_parse
| -rw-r--r-- | requirements.txt | 1 | ||||
| -rw-r--r-- | src/utils/datetime.py | 10 |
2 files changed, 5 insertions, 6 deletions
diff --git a/requirements.txt b/requirements.txt index 4a40c83a..c4a59ae0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ beautifulsoup4==4.8.0 cryptography==2.7 dataclasses==0.6 +dateutil==2.8.1 dnspython==1.16.0 feedparser==5.2.1 lxml==4.4.1 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) |
