前月のdatetimeオブジェクトを返す 質問する

前月のdatetimeオブジェクトを返す 質問する

timedelta のコンストラクタに month 引数があればいいのですが。では、これを実現する最も簡単な方法は何でしょうか?

編集:以下に指摘されているように、私はこれについてあまり深く考えませんでした。私が本当に欲しかったのは、最終的には年と月だけを取得するので、先月の任意の日でした。日付時刻オブジェクトが与えられた場合、最も簡単な方法は前月に含まれる任意の datetime オブジェクト?

ベストアンサー1

サードパーティのdateutilモジュール(PyPIエントリここ)。

import datetime
import dateutil.relativedelta

d = datetime.datetime.strptime("2013-03-31", "%Y-%m-%d")
d2 = d - dateutil.relativedelta.relativedelta(months=1)
print d2

出力:

2013-02-28 00:00:00

おすすめ記事