diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-03-12 10:51:16 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-03-12 10:51:16 +0200 |
commit | 017bce1a727cdfe027a006457451d49ff61015f1 (patch) | |
tree | c73eab62f51b31b3852ab99cf18ef223fd005fc3 /Lib/_strptime.py | |
parent | 62d1b6be7bcb1cb03e38d3d08ead4840c83a77dc (diff) | |
download | cpython-017bce1a727cdfe027a006457451d49ff61015f1.tar.gz |
Issue #23718: Fixed parsing time in week 0 before Jan 1. Original patch by
Tam?s Bence Gedai.
Diffstat (limited to 'Lib/_strptime.py')
-rw-r--r-- | Lib/_strptime.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/_strptime.py b/Lib/_strptime.py index b8cda769bb..f84227be49 100644 --- a/Lib/_strptime.py +++ b/Lib/_strptime.py @@ -462,6 +462,10 @@ def _strptime(data_string, format="%a %b %d %H:%M:%S %Y"): week_starts_Mon = True if week_of_year_start == 0 else False julian = _calc_julian_from_U_or_W(year, week_of_year, weekday, week_starts_Mon) + if julian <= 0: + year -= 1 + yday = 366 if calendar.isleap(year) else 365 + julian += yday # Cannot pre-calculate datetime_date() since can change in Julian # calculation and thus could have different value for the day of the week # calculation. |