Pythonのtimedelta完全ガイド!初心者でもわかる日付の加算・減算
生徒
「Pythonで今日の日付から3日後を計算したいんですが、どうすればいいですか?」
先生
「Pythonでは、datetimeとtimedeltaを使うと、日付の加算や減算が簡単にできます。」
生徒
「パソコンにあまり詳しくなくても使えますか?」
先生
「はい。カレンダーを前後にずらす感覚で考えると、とても分かりやすいですよ。」
1. Pythonで日時操作をするとはどういうこと?
Pythonの日時操作とは、日付や時間をプログラムで自由に扱うことです。たとえば「今日の日付」「1週間後の日付」「昨日の日付」などを計算することを指します。人がカレンダーを見て数える作業を、Pythonが代わりに行ってくれるイメージです。
Pythonではdatetimeモジュールという便利な道具が用意されています。モジュールとは、よく使う機能をまとめた箱のようなものです。
2. timedeltaとは何かをやさしく解説
timedeltaとは、「どれくらい時間を進めるか、戻すか」を表すための部品です。たとえば「3日分」「1週間分」「5時間分」といった時間の量を表します。
カレンダーに付いている「◯日進める」「◯日戻す」という操作を、Pythonの世界で担当しているのがtimedeltaだと考えると理解しやすいです。
3. 今日の日付に日数を足す基本例
まずは、今日の日付に3日を足す基本的な例です。Pythonでは現在の日付を取得し、そこにtimedeltaを足します。
from datetime import date, timedelta
today = date.today()
future = today + timedelta(days=3)
print(future)
2026-01-19
この例では、days=3と指定しています。これは「3日分進める」という意味です。足し算をしている点も直感的で、初心者でも理解しやすいポイントです。
4. 日付を過去に戻す減算のやり方
次は、日付を過去に戻す例です。昨日や1週間前の日付を知りたい場合に使います。やり方はとても簡単で、引き算をするだけです。
from datetime import date, timedelta
today = date.today()
past = today - timedelta(days=7)
print(past)
2026-01-09
このように、timedeltaを引くことで日付の減算ができます。現実のカレンダーを1ページ戻す感覚と同じです。
5. 日付だけでなく時間も動かせる
timedeltaは日付だけでなく、時間も操作できます。たとえば「2時間後」や「30分前」も簡単に計算できます。ここで使うのがdatetimeです。datetimeは日付と時間の両方を扱える型です。
from datetime import datetime, timedelta
now = datetime.now()
later = now + timedelta(hours=2)
print(later)
hoursの他にも、minutesやsecondsを指定できます。時間操作ができると、予約時間や締切時間の計算にも役立ちます。
6. よく使われるtimedeltaの指定方法
timedeltaでは、複数の単位を同時に指定できます。たとえば「1日と3時間後」のような指定も可能です。これは現実世界で「明日の午後」のように考える感覚に近いです。
from datetime import datetime, timedelta
now = datetime.now()
result = now + timedelta(days=1, hours=3)
print(result)
このように、日付計算と時間計算をまとめて行える点が、Pythonの日時操作の大きな魅力です。
7. timedeltaを使うと何が便利なのか
Pythonで日付の加算・減算を手作業で行うと、月末やうるう年などを考える必要があり、とても大変です。しかしtimedeltaを使えば、そうした難しい計算をすべてPythonが自動で処理してくれます。
そのため、初心者でも安心して日時操作ができ、Pythonでのプログラミングに自信を持ちやすくなります。timedeltaは、Pythonの日時操作において欠かせない存在です。