New submission from Glenn Linderman:

Docs say:

date.timetuple()

    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@python
components: Documentation
messages: 178477
nosy: docs@python, v+python
priority: normal
severity: normal
status: open
title: inconsistency in weekday
versions: Python 3.3

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16810>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to