New submission from Mario Corchero <[email protected]>:
Currently, datetime.strptime does not support parsing utc offsets that include
a colon. "+0000" is parsed without issues whilst it fails with "+00:00".
"+NN:NN" is not only ISO8601 valid but also the way the offset is presented to
the user when using .isoformat on a datetime with a timezone/offset.
This lead to the users needing to go to external libraries like dateutil or
iso8601 just to be able to parse the datetime encoded in strings that
"datetime" produces.
Even if a long-term goal would be to provide a way to parse any isoformatted
string this issue just aims to address the problem that the %z parsing
presents. This already unblocks users from parsing datetime object serialized
with isoformat.
With this change, the following will just work:
>>> import datetime as dt
>>> iso_fmt = '%Y-%m-%dT%H:%M:%S%z'
>>> d = dt.datetime.strptime('2004-01-01T10:10:10+05:00', iso_fmt)
*'2004-01-01T10:10:10+05:00' is a sample string generated via
datetime.isoformat()
Other options like having a new %:z was proposed but having just %z seems much
simpler for the user.
Note: There has been already conversations about adding support on datetime to
parse any ISO-formatted string. This is a more simplistic approach. We might be
able to get to that situation after this patch, but this aims just to unblock
us.
Related:
http://www.loc.gov/standards/datetime/iso-tc154-wg5_n0039_iso_wd_8601-2_2016-02-16.pdf
https://mail.python.org/pipermail/python-ideas/2014-March/027018.html
https://bugs.python.org/issue15873
----------
components: Library (Lib)
messages: 304486
nosy: mariocj89
priority: normal
severity: normal
status: open
title: datetime.strptime: Support for parsing offsets with a colon
type: enhancement
versions: Python 3.7
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue31800>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com