python relativedelta(dateutil)
date: 2023-06-27 excerpt: pythonのrelativedelta(detautil)の使い方
pythonのrelativedelta(dateutil)の使い方
概要
- dateutilという外部パッケージに、relativedeltaという機能がある
datetime
のtimedelta
にはseconds
,hours
,days
の粒度はあるが、months
,years
,weekdays
の粒度はない- これらの不足を補う側面で
relativedelta
という機能が使える
- これらの不足を補う側面で
インストール
pip
$ python3 -m pip install dateutil
具体例
次の特定の曜日の日を知る
# 次の金曜日を知る
datetime.datetime.now() + relativedelta(weekday=calendar.FRIDAY)
"""
datetime.datetime(2023, 6, 30, 4, 6, 0, 971181)
"""
xヶ月後の日時を知る
# 一ヶ月後を知る(+30daysとかでは2月は日数が少ないのでうまく行かないが, relativedeltaを用いると計算できる)
datetime.date(2023, 2, 15) + relativedelta(months=1)
"""
datetime.date(2023, 3, 15)
"""