違いは何ですかdatetime.timedelta
(Pythonの標準ライブラリから)dateutil.relativedelta.relativedelta
日数のみで作業する場合は?
私の理解する限りでは、timedelta
日 (および週) のみがサポートされていますが、relativedelta
年、月、週、または日で定義された期間のサポートが追加され、年、月、または日の絶対値も定義されます。(この質問では、時間、分、秒を気にする必要はないことに注意してください)
私が取り組んでいるのはdatetime.date
オブジェクト、および日数で定義された期間のみに関心がある場合、timedelta
との違いは何ですかrelativedelta
? 違いはありますか?
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta
i = -1 # This could have been any integer, positive or negative
someday = date.today()
# Is there any difference between these two lines?
otherday = someday + timedelta(days=i)
otherday = someday + relativedelta(days=i)
ベストアンサー1
dateutil
は、Python 標準モジュールの拡張パッケージですdatetime
。おっしゃるとおり、1 日よりも長い単位で表現されるタイムデルタなどの追加機能を提供します。
これは、ガールフレンドの誕生日までに何ヶ月貯金できるか、その月の最後の金曜日はいつか、といった質問をする必要がある場合に役立ちます。これにより、月の長さの違いやうるう年の追加日数によって発生する複雑な計算が隠されます。
あなたの場合、関心があるのは日数だけです。したがって、パッケージtimedelta
への余分な依存を回避するには、を使用するのが最適ですdateutil
。