How Compute # of Days between Two Dates?

W. eWatson notvalid2 at sbcglobal.net
Mon Sep 1 10:57:59 EDT 2008


Grant Edwards wrote:
> On 2008-09-01, W. eWatson <notvalid2 at sbcglobal.net> wrote:
> 
>> That's the question in Subject. For example, the difference between 
>> 08/29/2008 and 09/03/2008 is +5. The difference between 02/28/2008 and 
>> 03/03/2008 is 4, leap year--extra day in Feb. I'm really only interested in 
>> years between, say, 1990 and 2050. In other words not some really strange 
>> period of time well outside our current era of history.
> 
> Does the standard library's datetime module not do what you want?
> 
>   http://docs.python.org/lib/module-datetime.html
> 
Yes, it would seem so. This works fine.

date1 = datetime.date(2007, 2, 27)
date2 = datetime.date(2007, 3, 3)

print "date1: ", date1
print "date2: ", date2
diff = date2 - date1
print "diff: ", diff
result:
date1:  2007-02-27
date2:  2007-03-03
diff:  4 days, 0:00:00

I was pondering this in pyfdate, but perhaps missed it or it was not obvious 
to me in the tutorial for some reason. There are few places where it's not 
quite complete. pyfdate has some rules for dealing with length of month 
oddities that started me thinking it would have difficulty with situations 
like the above. However, it would seem any general implementation of time 
and date should be capable of making similar calculations without difficulty.

-- 
                                W. eWatson

              (121.015 Deg. W, 39.262 Deg. N) GMT-8 hr std. time)
               Obz Site:  39° 15' 7" N, 121° 2' 32" W, 2700 feet

                     Web Page: <www.speckledwithstars.net/>




More information about the Python-list mailing list