日付の加算・減算を行うには、datetime.timedeltaを使用する。
>>> import datetime
>>> d = datetime.datetime.now()
>>> d
datetime.datetime(2012, 4, 18, 06, 29, 28, 538000)
>>> d + datetime.timedelta(days=3) #3日加算
datetime.datetime(2012, 4, 21, 06, 29, 28, 538000)
>>> d - datetime.timedelta(hours=3) #3時間減算
datetime.datetime(2012, 4, 18, 03, 29, 28, 538000)
引数に使用可能なのは以下のとおり
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
timedeltaでは月の加算減算はできません。サードパーティ製ライブラリのpython-dateutil.relativedeltaを使うとできます。
日付に月単位で加算減算する (relativedelta) | Python Snippets