New submission from Jonatan Skogsfors <jona...@skogsfors.net>:
Consider the following code : Python 3.10.2 (main, Jan 31 2022, 12:03:48) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from datetime import datetime >>> datetime.strptime("2021-53-1", "%Y-%W-%w").strftime("%c") 'Mon Jan 3 00:00:00 2022' And also: >>> datetime.strptime("2021-53-1", "%G-%V-%u").strftime("%c") 'Mon Jan 3 00:00:00 2022' 2021 is a "short year" with 52 weeks (e.g. since December 31 is on a Friday). The 53rd week of 2021 is interpreted by Python as week 1 of 2022. This can be convenient but as I understand it, it is not a part of ISO 8601 and it is not documented as a deviation in the documentation for datetime. As a comparison, the special behavior of week 0 (also not part of ISO 8601) is documented. In the documentation for format directive "%W" it is stated that "All days in a new year preceding the first Monday are considered to be in week 0." If the behavior for week 53 is intended (as opposed to raising an error) I think it should be documented. ---------- components: Library (Lib) messages: 412200 nosy: Jonatan Skogsfors priority: normal severity: normal status: open title: Undocumented behavior in strptime for ISO week dates type: behavior versions: Python 3.10 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue46592> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com