[Python-ideas] Parsing ISO 8601 with the standard library

Guido van Rossum guido at python.org
Tue Mar 11 19:57:24 CET 2014


Can you show or point us to some examples of the types of dates that cannot
be parsed? Do you happen to have the specification for those? "ISO 8601"
alone doesn't tell me much, there are many different formats endorsed by
the standard, and the standard is hard to read. I can't find it in
Wikipedia either, nor in the Postgres docs.

Is it something that a simple regular expression could extract into pieces
that can be parsed with Python's strftime?


On Tue, Mar 11, 2014 at 11:46 AM, Tin Tvrtković <tinchester at gmail.com>wrote:

> Hello,
>
> it occured to me today that it's not currently possible to parse ISO 8601
> dates using the datetime.datetime.strftime function (I was parsing
> datetimes generated by Postgres). The problem is in the semicolon in the
> time zone offset.
>
> '1997-07-16T19:20:30.45+01:00' is a valid ISO 8601 date and time
> representation, the likes of which can be generated by the datetime module
> itself (the isoformat method). The %z strftime directive only recognizes
> offsets without the semicolon. The Python docs also direct users to inspect
> the platform strftime documentation; on my system the man page clearly
> states %z is "... The +hhmm or -hhmm numeric timezone", again, no semicolon
> support.
>
> Googling around, most common suggestions are to use a third party library
> (such as dateutil), so either this functionality really doesn't exist in a
> simple form in the datetime module, or is really undiscoverable. It seems
> to me ISO 8601 is significant enough (since there are even special methods
> for it in the datetime module) for it to be parsable, in a non-complex way,
> by the standard library.
>
> I guess it's interesting to point out a new flag was added to Java's
> SimpleDateFormat's date and time patterns in Java 7 - the X directive
> stands for "ISO 8601 time zone" (-08; -0800; -08:00, Z). I've worked with
> this so I happen to know it off the top of my head.
>
> Thanks in advance for comments.
>
> Tin
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>



-- 
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140311/c42dee5d/attachment-0001.html>


More information about the Python-ideas mailing list