Tony Meyer wrote:
Index: _strptime.py
[...]
+ # For some reason when Dec 31 falls on a Monday the week of the year is + # off by a week; verified on both OS X and Solaris. + elif weekday == 0 and week_of_year_start == 6 and week_of_year >= 52: + week_of_year += 1
Is this right? At the moment, if I ask for Monday in the 52nd week of 2008, I get the 5th of January 2009:
time.strptime("2008 52 1", "%Y %U %w")
(2009, 1, 5, 0, 0, 0, 0, 371, -1)
For reference, Monday in the previous week is the 22nd of December:
time.strptime("2008 51 1", "%Y %U %w")
(2008, 12, 22, 0, 0, 0, 0, 357, -1)
Wouldn't December 29 2008 be the right answer? This is the result without that if:
time.strptime("2008 52 1", "%Y %U %w")
(2008, 12, 29, 0, 0, 0, 0, 364, -1)
Can you file a bug report about this? And the test case I was using that triggered the need for that is 1906-12-31 which is a Monday but changes what week it is based on whether you use U or W. which makes no sense since both U and W should consider it the same week. Had the same result for 1917-12-31. -Brett