Pythonで日付や時間の加算、減算、日数や秒数の計算をする方法

Pythonで日付や時間の加算、減算、日数や秒数の計算を行うためには、datetimeモジュールを使用します。以下に一般的な操作の例を示します。

  1. 日付や時間の加算・減算:

    timedeltaクラスを使用して、日数、秒数、マイクロ秒数などの時間差を表現し、これをdatetimeオブジェクトに加算または減算することができます。

    python
    from datetime import datetime, timedelta
    
    # 現在の日付と時間を取得
    current_datetime = datetime.now()
    
    # 1日後を計算
    one_day = timedelta(days=1)
    next_day = current_datetime + one_day
    
    # 1週間前を計算
    one_week = timedelta(weeks=1)
    last_week = current_datetime - one_week
    
    print(f"現在の日付: {current_datetime}")
    print(f"1日後: {next_day}")
    print(f"1週間前: {last_week}")
    
  2. 日数や秒数の計算:

    timedeltaオブジェクト同士を減算することで、日数や秒数の差を計算できます。

    python
    from datetime import timedelta
    
    # 2つの日付を作成
    date1 = datetime(2023, 10, 10)
    date2 = datetime(2023, 10, 5)
    
    # 日数の差を計算
    delta = date1 - date2
    
    # 日数差を出力
    print(f"{date1} と {date2} の日数差: {delta.days} 日")
    
    # 時間差を計算
    time1 = timedelta(hours=12)
    time2 = timedelta(hours=6)
    
    time_difference = time1 - time2
    
    # 秒数差を出力
    print(f"{time1} と {time2} の秒数差: {time_difference.total_seconds()} 秒")
    

このようにして、timedeltaを使用して日付や時間の計算を行うことができます。timedeltaオブジェクトのdays属性は日数を、total_seconds()メソッドは秒数を返します。