[New-bugs-announce] [issue22241] strftime/strptime round trip fails even for UTC datetime object
Akira Li
report at bugs.python.org
Thu Aug 21 13:35:17 CEST 2014
New submission from Akira Li:
>>> from datetime import datetime, timezone
>>> dt = datetime.now(timezone.utc)
>>> fmt = '%Y-%m-%d %H:%M:%S.%f %Z%z'
>>> datetime.strptime(dt.strftime(fmt), fmt)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/cpython/Lib/_strptime.py", line 500, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/cpython/Lib/_strptime.py", line 337, in _strptime
(data_string, format))
ValueError: time data '2014-08-21 11:29:13.537251 UTC+00:00+0000'
does not match format '%Y-%m-%d %H:%M:%S.%f %Z%z'
The issue is that dt.strftime('%Z') produces 'UTC+00:00'
(due to timezone.utc.tzname(dt) returning 'UTC+00:00')
instead of 'UTC' that strptime() accepts and %Z examples [1]
in the docs demonstrate.
[1] https://docs.python.org/3.4/library/datetime.html#strftime-and-strptime-behavior
----------
components: Library (Lib)
messages: 225606
nosy: akira
priority: normal
severity: normal
status: open
title: strftime/strptime round trip fails even for UTC datetime object
type: behavior
versions: Python 3.4, Python 3.5
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22241>
_______________________________________
More information about the New-bugs-announce
mailing list