Open Thomasillo opened 3 months ago
Linked a PR where I made %z allow an optional utc offset instead of mandating a utc offset, would appreciate it if someone could take a look, thanks!
Making %z
-parsing accept an empty string looks to me like a serious behavioral change, as it is almost obvious to me that non-negligible number of users rely on %z
to distinguish and accept only a timezone-aware date+time (rejecting timezone-less aka naive ones).
cc @pganssle
(I believe that rejecting %z
when formatting a naive (tz-unaware) datetime
would be a better idea – but now, in 2024, is probably a non-starter, because of the incompatibility impact. Although, perhaps after full 5-years deprecation period it would be acceptable?)
Bug report
Bug description:
will fail with
ValueError: time data '2024-03-21T15:49:51' does not match format '%Y-%m-%dT%H:%M:%S%z'
From the documentation for strptime, empty string should be allowed here.
NB: strftime behaves correctly.
So
strptime(strftime(datetime.datetime(2024, 3, 21, 15, 49, 51), '%Y-%m-%dT%H:%M:%S%z'), '%Y-%m-%dT%H:%M:%S%z')
would fail.CPython 3.12.4, WSL2 (Ubuntu 20.04)
CPython versions tested on:
3.12
Operating systems tested on:
Linux
Linked PRs