On Sun, Mar 15, 2009 at 10:28 AM, <tinn...@isbd.co.uk> wrote: > I have a date in the form of a datetime object and I want to add (for > example) three months to it. At the moment I can't see any very > obvious way of doing this. I need something like:- > > myDate = datetime.date.today() > inc = datetime.timedelta(months=3) > myDate += inc > > but, of course, timedelta doesn't know about months.
Which makes some sense considering a month can range from 28-31 days, which would make the delta oddly fuzzy. Here's one approach: myDate = datetime.date.today() newYear = myDate.year newMonth = myDate.month + 3 if newMonth > 12: newYear += 1 newMonth -= 12 inThreeMonths = datetime.date(newYear, newMonth, myDate.day) #add extra analogous logic if you have to deal with February or 31st days. Cheers, Chris -- I have a blog: http://blog.rebertia.com -- http://mail.python.org/mailman/listinfo/python-list