New submission from Oren Tirosh <or...@hishome.net>:

The object types in the datetime module can produce a standard string 
representation (rfc3339, a subset of iso8601) but they do not provide a method 
to parse it.

Proposed method names: isoparse or fromisoformat.

In addition, a constructor call with a single string argument may also be 
supported. This would make the behavior of datetime/date/time more similar to 
other value types such as int, str or float and maintain the same invariant of 
x == type(x)(str(x))

Requirements: support lossless round-tripping of all valid datetime object 
values to str and back, with the exception of objects having a custom tzinfo 
(not None or an instance of datetime.timezone).

The _strptime format of '%Y-%m-%d %H:%M:S.%f%z' comes close, but fails to meet 
these requirements in the following ways:

1. %z matches +HHMM, not +HH:MM (addressed by issue 31800, currently discussed 
on datetime-sig)
2. %z does not match the empty string, indicating a naive datetime object 
(tzinfo=None)
3. .%f requires a fraction part, while isoformat drops it when the timestamp is 
an exact second (microsecond=0).

----------
messages: 304728
nosy: orent
priority: normal
severity: normal
status: open
title: datetime: add method to parse isoformat() output
type: enhancement

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31839>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to