0Pricing
Python Academy · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. date、time、datetime
  2. timedeltaと算術演算
  3. 書式設定と解析
  4. zoneinfoによるタイムゾーン
← Python Academyに戻る