diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-03-19 17:13:37 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-03-19 17:13:37 (GMT) |
commit | 423feea01e40699ad4e4c91139a64c71578b4eef (patch) | |
tree | 6639d37a6d366ea5b1be47e69961c54a129ebb2d /Lib/_strptime.py | |
parent | 56cefa69ee919559cf3ca2388d12371c24402df3 (diff) | |
download | cpython-423feea01e40699ad4e4c91139a64c71578b4eef.zip cpython-423feea01e40699ad4e4c91139a64c71578b4eef.tar.gz cpython-423feea01e40699ad4e4c91139a64c71578b4eef.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.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/_strptime.py b/Lib/_strptime.py index 53bd34b..f76fff1 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") |