Issue #23718: Fixed parsing time in week 0 before Jan 1. Original patch by

Tamás Bence Gedai.
This commit is contained in:
Serhiy Storchaka 2016-03-12 10:53:09 +02:00
commit 6e4150f36b
3 changed files with 36 additions and 7 deletions

View file

@ -514,6 +514,10 @@ def _strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
week_starts_Mon)
elif iso_year is not None and iso_week is not None:
year, julian = _calc_julian_from_V(iso_year, iso_week, weekday + 1)
if julian is not None and julian <= 0:
year -= 1
yday = 366 if calendar.isleap(year) else 365
julian += yday
if julian is None:
# Cannot pre-calculate datetime_date() since can change in Julian