summaryrefslogtreecommitdiffstats
path: root/Lib/_strptime.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-03-19 17:14:15 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2015-03-19 17:14:15 (GMT)
commitfc7344a79219643a18449074c09d28773a70f975 (patch)
treee383b68225b76876bbf9a566fc1db8ce4dbb6041 /Lib/_strptime.py
parent4f418d36714787fa85652806c93405e4874bca61 (diff)
parent423feea01e40699ad4e4c91139a64c71578b4eef (diff)
downloadcpython-fc7344a79219643a18449074c09d28773a70f975.zip
cpython-fc7344a79219643a18449074c09d28773a70f975.tar.gz
cpython-fc7344a79219643a18449074c09d28773a70f975.tar.bz2
Issue #23136: _strptime now uniformly handles all days in week 0, including
Jan 30 of previous year. Based on patch by Jim Carroll.
Diffstat (limited to 'Lib/_strptime.py')
-rw-r--r--Lib/_strptime.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/_strptime.py b/Lib/_strptime.py
index 42f23d3..f4a98ec 100644
--- a/Lib/_strptime.py
+++ b/Lib/_strptime.py
@@ -348,9 +348,9 @@ def _strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
# though
week_of_year = -1
week_of_year_start = -1
- # weekday and julian defaulted to -1 so as to signal need to calculate
+ # weekday and julian defaulted to None so as to signal need to calculate
# values
- weekday = julian = -1
+ weekday = julian = None
found_dict = found.groupdict()
for group_key in found_dict.keys():
# Directives not explicitly handled below:
@@ -452,14 +452,14 @@ def _strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
year = 1900
# If we know the week of the year and what day of that week, we can figure
# out the Julian day of the year.
- if julian == -1 and week_of_year != -1 and weekday != -1:
+ if julian is None and week_of_year != -1 and weekday is not None:
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)
# Cannot pre-calculate datetime_date() since can change in Julian
# calculation and thus could have different value for the day of the week
# calculation.
- if julian == -1:
+ if julian is None:
# Need to add 1 to result since first day of the year is 1, not 0.
julian = datetime_date(year, month, day).toordinal() - \
datetime_date(year, 1, 1).toordinal() + 1
@@ -469,7 +469,7 @@ def _strptime(data_string, format="%a %b %d %H:%M:%S %Y"):
year = datetime_result.year
month = datetime_result.month
day = datetime_result.day
- if weekday == -1:
+ if weekday is None:
weekday = datetime_date(year, month, day).weekday()
# Add timezone info
tzname = found_dict.get("Z")