サイトアイコン Python Snippets

日付の加算 減算 timedelta

日付の加算・減算を行うには、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

関連記事:

モバイルバージョンを終了