How to tell how many weeks apart two datetimes are?

2013-01-08 Thread Roy Smith
How do you tell how many weeks apart two datetimes (t1 and t2) are?
The obvious solution would be:

weeks = (t2 - t1) / timedelta(days=7)

but that doesn't appear to be allowed.  Is there some fundamental
reason why timedelta division not supported?
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to tell how many weeks apart two datetimes are?

2013-01-08 Thread marduk


On Tue, Jan 8, 2013, at 04:22 PM, Roy Smith wrote:
 How do you tell how many weeks apart two datetimes (t1 and t2) are?
 The obvious solution would be:
 
 weeks = (t2 - t1) / timedelta(days=7)
 
 but that doesn't appear to be allowed.  Is there some fundamental
 reason why timedelta division not supported?
 -- 
 http://mail.python.org/mailman/listinfo/python-list

It works for python 3(.2):

 x = datetime.timedelta(days=666)
 week = datetime.timedelta(days=7)
 x / week
95.14285714285714
 halfday = datetime.timedelta(hours=12)
 x / halfday
1332.0
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to tell how many weeks apart two datetimes are?

2013-01-08 Thread Ian Kelly
On Tue, Jan 8, 2013 at 2:22 PM, Roy Smith r...@panix.com wrote:
 How do you tell how many weeks apart two datetimes (t1 and t2) are?
 The obvious solution would be:

 weeks = (t2 - t1) / timedelta(days=7)

 but that doesn't appear to be allowed.  Is there some fundamental
 reason why timedelta division not supported?

Seems to be supported in Python 3.3, but not in 2.7.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to tell how many weeks apart two datetimes are?

2013-01-08 Thread Ian Kelly
On Tue, Jan 8, 2013 at 2:33 PM, Ian Kelly ian.g.ke...@gmail.com wrote:
 On Tue, Jan 8, 2013 at 2:22 PM, Roy Smith r...@panix.com wrote:
 How do you tell how many weeks apart two datetimes (t1 and t2) are?
 The obvious solution would be:

 weeks = (t2 - t1) / timedelta(days=7)

 but that doesn't appear to be allowed.  Is there some fundamental
 reason why timedelta division not supported?

 Seems to be supported in Python 3.3, but not in 2.7.

From the docs:

Changed in version 3.2: Floor division and true division of a
timedelta object by another timedelta object are now supported, as are
remainder operations and the divmod() function. True division and
multiplication of a timedelta object by a float object are now
supported.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to tell how many weeks apart two datetimes are?

2013-01-08 Thread MRAB

On 2013-01-08 21:22, Roy Smith wrote:

How do you tell how many weeks apart two datetimes (t1 and t2) are?
The obvious solution would be:

weeks = (t2 - t1) / timedelta(days=7)

but that doesn't appear to be allowed.  Is there some fundamental
reason why timedelta division not supported?


Try this:

weeks = (t2 - t1).days / 7

--
http://mail.python.org/mailman/listinfo/python-list


Re: How to tell how many weeks apart two datetimes are?

2013-01-08 Thread Oscar Benjamin
On 8 January 2013 22:50, MRAB pyt...@mrabarnett.plus.com wrote:
 On 2013-01-08 21:22, Roy Smith wrote:

 How do you tell how many weeks apart two datetimes (t1 and t2) are?
 The obvious solution would be:

 weeks = (t2 - t1) / timedelta(days=7)

 but that doesn't appear to be allowed.  Is there some fundamental
 reason why timedelta division not supported?

 Try this:

 weeks = (t2 - t1).days / 7

You beat me to it...

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type help, copyright, credits or license for more information.
 import datetime
 dt1 = datetime.datetime.now()
 dt2 = dt1 - datetime.timedelta(days=8)
 (dt2 - dt1) / 7  datetime.timedelta(days=14)
False


Oscar
-- 
http://mail.python.org/mailman/listinfo/python-list