timedeltaと算術演算
日付間の差を計算します
「timedeltaと算術演算」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
timedeltaとは
timedeltaは期間、つまり2つの時点の間の時間差を表します。ある日付またはdatetimeから別の日付またはdatetimeを引いた結果です。
from datetime import timedeltaでインポートします。
from datetime import timedelta
gap = timedelta(days=3)
print(gap)期間の作成
days、hours、minutes、secondsなどのキーワード引数を使ってtimedeltaを作成します。Pythonはこれらを日、秒、マイクロ秒に正規化します。
from datetime import timedelta
d = timedelta(days=1, hours=6, minutes=30)
print(d)2つの日付の引き算
一方のdateからもう一方のdateを引くと、timedeltaが生成されます。これにより、2つの日付がどれだけ離れているかを測れます。
from datetime import date
start = date(2026, 1, 1)
end = date(2026, 5, 30)
diff = end - start
print(diff)日付間の日数
timedeltaの.days属性は、日単位の整数の合計を返します。「Xまであと何日か」という問いに答えるのに最適です。
from datetime import date
new_year = date(2027, 1, 1)
today = date(2026, 5, 30)
print('Days left:', (new_year - today).days)日付への時間の加算
timedeltaをdateまたはdatetimeに加えると、時間を先に進められます。引くと時間を戻せます。
from datetime import date, timedelta
today = date(2026, 5, 30)
in_two_weeks = today + timedelta(days=14)
print('In two weeks:', in_two_weeks)過去に戻る
timedeltaを引くと、日付が過去へ移動します。ここでは、1週間前の日付を求めています。
from datetime import date, timedelta
today = date(2026, 5, 30)
last_week = today - timedelta(weeks=1)
print('A week ago:', last_week)期間の合計秒数
.total_seconds()メソッドは、期間全体を秒単位の単一の浮動小数点数として返します。正確な時間計算に便利です。
from datetime import timedelta
d = timedelta(hours=2, minutes=30)
print('Total seconds:', d.total_seconds())datetimeの算術演算
datetimeオブジェクトにも同じ規則が適用されます。期間を加えると、日付と時刻の両方が正しく移動し、必要に応じて日をまたぎます。
from datetime import datetime, timedelta
start = datetime(2026, 5, 30, 23, 0)
later = start + timedelta(hours=3)
print(later)期間を掛け合わせる
timedeltaには数値を掛けて、期間を拡大できます。たとえば、2週間のスプリントサイクルを5回分計算するのも簡単です。
from datetime import timedelta
sprint = timedelta(weeks=2)
five_sprints = sprint * 5
print(five_sprints)期間を比較する
<、>、==を使って、期間同士を比較できます。これにより、一方の時間の長さがもう一方より長いかどうかを確認できます。
from datetime import timedelta
a = timedelta(hours=5)
b = timedelta(days=1)
print(a < b)
print(max(a, b))日数と秒数を分けて扱う
timedeltaは、.daysと.secondsを別々に保存します。.seconds属性に入るのは、最後の1日以内に残った秒数(0~86399)だけで、合計秒数ではありません。
from datetime import timedelta
d = timedelta(days=2, hours=3)
print('days:', d.days)
print('seconds:', d.seconds)クイックチェック
あるdateから別のdateを引くと、何が返されますか?
復習:Timedeltaと算術演算
重要なポイント:
timedelta(days=, hours=, ...)で期間を作成します。- 2つの日付またはdatetimeの差を取ると、
timedeltaが返されます。 timedeltaを日付に加えたり引いたりして、日付を未来または過去へ移動します。- 数値として扱うには
.daysを読み取るか、.total_seconds()を呼び出します。また、期間に数値を掛けて拡大できます。
from datetime import date, timedelta
today = date(2026, 5, 30)
print('In 100 days:', today + timedelta(days=100))よくある質問
「timedeltaと算術演算」レッスンは無料ですか?
はい。「timedeltaと算術演算」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「timedeltaと算術演算」で何を学びますか?
日付間の差を計算します ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「timedeltaと算術演算」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- date、time、datetime
- timedeltaと算術演算
- 書式設定と解析
- zoneinfoによるタイムゾーン