How to add months to a date (datetime object)?
Vlastimil Brom
vlastimil.brom at gmail.com
Sun Mar 15 13:47:17 EDT 2009
2009/3/15 <tinnews at isbd.co.uk>:
> 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. I had a look at
> the calendar object but that didn't seem to help much.
>
> --
> Chris Green
> --
> http://mail.python.org/mailman/listinfo/python-list
>
I guess, one can simply do this manually:
>>> td = datetime.date.today()
>>> td
datetime.date(2009, 3, 15)
>>> td_plus_3_months = datetime.date(td.year, td.month+3, td.day)
>>> td_plus_3_months
datetime.date(2009, 6, 15)
however, one have to check for non existing dates:
>>> datetime.date(td.year, td.month+10, td.day)
Traceback (most recent call last):
File "<input>", line 1, in <module>
ValueError: month must be in 1..12
>>>
hth
vbr
More information about the Python-list
mailing list