[New-bugs-announce] [issue16810] inconsistency in weekday

Glenn Linderman report at bugs.python.org
Sat Dec 29 07:54:21 CET 2012

New submission from Glenn Linderman:

Docs say:


    Return a time.struct_time such as returned by time.localtime(). The hours, minutes and seconds are 0, and the DST flag is -1. d.timetuple() is equivalent to time.struct_time((d.year, d.month, d.day, 0, 0, 0, d.weekday(), yday, -1)), where yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1 is the day number within the current year starting with 1 for January 1st.

However, timetuple's 7th element has a range of 0-6 where 0 is Sunday, and d.weekday has a range of 0-6 where 0 is Monday. So the claim of equivalence is false.   "d.weekday()" in the above could be replaced by "( d.weekday() + 1 ) % 7"

I guess datetime consistently uses 0==Monday, and weeks starting on Monday, except for the timetuple (which probably has compatibility constraints which force it to return a different value, which I consider to be more correct).

assignee: docs at python
components: Documentation
messages: 178477
nosy: docs at python, v+python
priority: normal
severity: normal
status: open
title: inconsistency in weekday
versions: Python 3.3

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list