Pythonでn年後の日付を求めてみます。
datetimeモジュールのtimedeltaでもn年後の日付を求められますがうるう年の処理に手間がかかります。
python-dateutilモジュールを使用して、n年後の日付を求めてみます。
dateutil/dateutil
Useful extensions to the standard Python datetime features
Python
2380
489
python-dateutilをインストールする #
pipを使用してpython-dateutilをインストールするには コマンドプロンプトに下記のように入力してください。
pip install python-dateutil
dateutil.relativedeltaでn年後の日付を求める #
n年後の日付を求めるにはrelativedeltaクラス
を使用します。
datetime.date
またはdatetime.datetime
にrelativedelta
を加算することによりn年後の日付を求めることができます。
from datetime import date
from dateutil.relativedelta import relativedelta
today = date(year=2016, month=1, day=1)
print(today) # 2016-01-01
# 1年後
print(today + relativedelta(years=1)) # 2017-01-01
# 2年後
print(today + relativedelta(years=2)) # 2018-01-01
n年前の日付を求めるにはdate
またはdatetime
からrelativedelta
を引きます。
# 1年前
print(today - relativedelta(years=1)) # 2015-01-01
# 2年前
print(today - relativedelta(years=2)) # 2014-01-01
relativedelta
ではn年後・nカ月後の計算ができるので非常に便利です。
timedelta
だと、n年後、nカ月後の計算が大変なので、ぜひpython-dateutilモジュールを使用してみてください。
参考リンク #
n年後の計算にはpython-dateutilドキュメントを参考にしました。
dateutil - powerful extensions to datetime — dateutil 3.9.0 documentation
日付関連のモジュールの検索にgithubのawesome-pythonリポジトリを参考にしました。
便利なモジュールがまとめられているので、参考にしてみてください。
vinta/awesome-python
An opinionated list of awesome Python frameworks, libraries, software and resources.
Python
227003
24965