
On Wed, Dec 6, 2017 at 3:07 PM, Paul Ganssle <pganssle@gmail.com> wrote:
Here is the PR I've submitted:
https://github.com/python/cpython/pull/4699
The contract that I'm supporting (and, I think it can be argued, the only reasonable contract in the intial implementation) is the following:
dtstr = dt.isoformat(*args, **kwargs) dt_rt = datetime.fromisoformat(dtstr) assert dt_rt == dt # The two points represent the same absolute time assert dt_rt.replace(tzinfo=None) == dt.replace(tzinfo=None) # And the same wall time
that looks good. And I'm sorry, I got a bit lost in the PR, but you are attaching an "offset" tzinfo, when parsing an iso string that has one, yes? I see this in the comments in the PR: """ This does not support parsing arbitrary ISO 8601 strings - it is only intended as the inverse operation of :meth:`datetime.isoformat` """ I fully agree that that's the MVP -- but is it that hard to parse arbitrary ISO8601 strings in once you've gotten this far? It's a bit uglier than I'd like, but not THAT bad a spec. what ISO8601 compatible features are not supported? -CHB -- 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