Issue #23718: Fixed parsing time in week 0 before Jan 1.  Original patch by
Tamás Bence Gedai.
diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index b8cda76..f84227b 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -462,6 +462,10 @@
         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.