2008年9月4日木曜日

Python で指定した日数後の日付を得る

例えば、今日 (2008.9.4) から 3 日後の日付を得たい場合、

from datetime import date, timedelta
print date.today() + timedelta(days=3)

結果、「2008-09-07」と表示される。

当然ながら、大晦日の 3 日後であるならば、

print date(2008,12,31) + timedelta(days=3)

「2009-01-03」と表示される。

つまり、日付による加算をしたい場合は、year, month, day の数値を得て計算するのではなく、 timedelta を使用すること。

 

datetimeモジュール

date オブジェクトdatetime モジュールで定義されており、

date オブジェクトは日付 (年、月、および日) を表します。(…)

today()

現在のローカルな日付を返します。

timedelta オブジェクト は、

timedelta オブジェクトは経過時間、すなわち二つの日付や時刻間の差を表します。