どうも、ちょげ(@chogetarou)です。
datetimeの年を加算する方法を紹介します。
方法
datetimeの年を加算する方法は、3つあります。
datetime()
1つ目は、datetime()を使う方法です。
まず、datetime()を呼び出します。
datetime()の第1引数に対象のdatetimeのyearプロパティに加算する年数を足した値を指定します。
そして、datetime()の第2引数に対象のdatetimeのmonthプロパティ、第3引数に対象のdatetimeのdayプロパティを指定します。
new_day = datetime(date.year + 年数, date.month, date.day)
上記のdatetime()は、対象のdatetimeに年数を加算した新しいdatetimeを生成します。
使用例
from datetime import datetime
current_day = datetime(2022, 6, 29)
new_day = datetime(current_day.year + 3, current_day.month, current_day.day)
print(current_day) #2022-06-29 00:00:00
print(new_day) #2025-06-29 00:00:00
replace()
2つ目は、replace()を使う方法です。
まず、対象のdatetimeからreplace()を呼び出します。
そして、replace()の引数「year」に、対象のdatetimeのyearプロパティと加算する年数を足した値を指定します。
new_day = day.replace(year = day.year + 年数)
上記のreplace()は、呼び出したdatetimeの年を加算したdatetimeを返します。
使用例
from datetime import datetime
from dateutil.relativedelta import relativedelta
current_day = datetime(2022, 6, 29)
new_day = current_day.replace(year = current_day.year + 3)
print(current_day) #2022-06-29 00:00:00
print(new_day) #2025-06-29 00:00:00
dateutil.relativedelta
3つ目は、dateutil.relativedeltaを使う方法です。
まず、dateutilのrelativedeltaをインポートします。
from dateutil.relativedelta import relativedelta
次に、対象のdatetimeとrelativedeltaを足し算します。
そして、relativedeltaの引数「years」に加算する年数を指定します。
new_day = day + relativedelta(years=年数)
上記の足し算は、relativedelataの引数「years」に指定した年数を、対象のdatetimeの年に加算したdatetimeを返します。
使用例
from datetime import datetime
from dateutil.relativedelta import relativedelta
current_day = datetime(2022, 6, 29)
new_day = current_day + relativedelta(years=2)
print(current_day) #2022-06-29 00:00:00
print(new_day) #2024-06-29 00:00:00
まとめ
datetimeの年を加算する方法は、次の3つです。
- datetime()を使う方法
new_day = datetime(date.year + 年数, date.month, date.day)
- replace()を使う方法
new_day = day.replace(year = day.year + 年数)
- dateutil.relativedeltaを使う方法
new_day = day + relativedelta(years=年数)
コメント