Pythonでtimedeltaをintに変換する方法


以下にいくつかの方法をコード例とともに示します。

  1. timedelta.total_seconds()を使用する方法: timedeltaオブジェクトのtotal_seconds()メソッドを使用し、秒単位での時間差を取得します。その後、int()関数を使用して整数値に変換します。

    from datetime import timedelta
    td = timedelta(days=5, hours=3, minutes=30)
    total_seconds = td.total_seconds()
    int_value = int(total_seconds)
    print(int_value)

    出力:

    468600
  2. timedelta.total_seconds()を経過時間として使用する方法: 上記の方法と同様に、total_seconds()メソッドを使用して秒単位の時間差を取得します。ただし、経過時間として使用するために、小数点以下の値を保持します。

    from datetime import timedelta
    td = timedelta(days=5, hours=3, minutes=30)
    total_seconds = td.total_seconds()
    elapsed_hours = total_seconds // 3600
    elapsed_minutes = (total_seconds % 3600) // 60
    elapsed_seconds = total_seconds % 60
    int_value = int(elapsed_hours)
    print(int_value)

    出力:

    123

これらの方法を使って、timedeltaオブジェクトをintに変換し、時間差を整数値として取得することができます。必要に応じて、他の時間単位(分や秒)に変換することもできます。