[Python-Dev] iso8601 parsing

Alex Walters tritium-list at sdamon.com
Wed Oct 25 17:18:08 EDT 2017

> -----Original Message-----
> From: Alexander Belopolsky [mailto:alexander.belopolsky at gmail.com]
> Sent: Wednesday, October 25, 2017 4:33 PM
> To: Alex Walters <tritium-list at sdamon.com>
> Cc: Elvis Pranskevichus <elprans at gmail.com>; Python-Dev <python-
> dev at python.org>; Chris Barker <chris.barker at noaa.gov>
> Subject: Re: [Python-Dev] iso8601 parsing
> On Wed, Oct 25, 2017 at 3:48 PM, Alex Walters <tritium-list at sdamon.com>
> wrote:
> >  Why make parsing ISO time special?
> It's not the ISO format per se that is special, but parsing of str(x).
> For all numeric types, int, float, complex and even
> fractions.Fraction, we have a roundtrip invariant T(str(x)) == x.
> Datetime types are a special kind of numbers, but they don't follow
> this established pattern.  This is annoying when you deal with time
> series where it is common to have text files with a mix of dates,
> timestamps and numbers.  You can write generic code to deal with ints
> and floats, but have to special-case anything time related.

>>> repr(datetime.datetime.now())
'datetime.datetime(2017, 10, 25, 17, 16, 20, 973107)'

You can already roundtrip the repr of datetime objects with eval (if you care to do so).  You get iso formatting from a method on dt objects, I don’t see why it should be parsed by anything but a classmethod.

More information about the Python-Dev mailing list