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:
Yes, according to the Python documentation. You should however be aware that this is different from the standard (ISO 8601:2000). According to that standard, Monday, week 52, 2008 is December 22. Implementing a function that gives result different from what people actually use is not very good. It is better to leave it unimplemented. = Erik Andersen
time.strptime("2008 52 1", "%Y %U %w")
(2008, 12, 29, 0, 0, 0, 0, 364, -1)
This is with WinXP SP1.
=Tony Meyer
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-erik%40rixmail.se