diff options
Diffstat (limited to 'gallery_dl/text.py')
| -rw-r--r-- | gallery_dl/text.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gallery_dl/text.py b/gallery_dl/text.py index a3f4e0a..3bb6390 100644 --- a/gallery_dl/text.py +++ b/gallery_dl/text.py @@ -233,7 +233,7 @@ def parse_timestamp(ts, default=None): return default -def parse_datetime(date_string, format="%Y-%m-%dT%H:%M:%S%z"): +def parse_datetime(date_string, format="%Y-%m-%dT%H:%M:%S%z", utcoffset=0): """Create a datetime object by parsing 'date_string'""" try: if format.endswith("%z") and date_string[-3] == ":": @@ -244,7 +244,11 @@ def parse_datetime(date_string, format="%Y-%m-%dT%H:%M:%S%z"): d = datetime.datetime.strptime(ds, format) o = d.utcoffset() if o is not None: - d = d.replace(tzinfo=None) - o # convert to naive UTC + # convert to naive UTC + d = d.replace(tzinfo=None) - o + elif utcoffset: + # apply manual UTC offset + d += datetime.timedelta(0, utcoffset * -3600) return d except (TypeError, IndexError, KeyError): return None |
