+1 on a classmethod constructor
+0 on a based-on-type default constructor

+inf on SOMETHING!

Let's get passed the bike shedding and make this work!

-CHB


On Wed, Oct 25, 2017 at 2:18 PM, Alex Walters <tritium-list@sdamon.com> wrote:


> -----Original Message-----
> From: Alexander Belopolsky [mailto:alexander.belopolsky@gmail.com]
> Sent: Wednesday, October 25, 2017 4:33 PM
> To: Alex Walters <tritium-list@sdamon.com>
> Cc: Elvis Pranskevichus <elprans@gmail.com>; Python-Dev <python-
> dev@python.org>; Chris Barker <chris.barker@noaa.gov>
> Subject: Re: [Python-Dev] iso8601 parsing
>
> On Wed, Oct 25, 2017 at 3:48 PM, Alex Walters <tritium-list@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.





--

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker@noaa.gov