Python で時間値を処理する場合、datetime モジュールはさまざまなクラスと関数を提供します。よく使用されるクラスの 1 つは、1 日の時刻部分を表す datetime.time です。ただし、datetime.time 値に秒数を追加する必要がある場合、互換性のないオペランド タイプにより問題が発生する可能性があります。
標準的なアプローチでは、datetime.timedelta を利用して期間を追加します。ただし、これには、ダミーの日付を使用して datetime オブジェクトを作成し、.time() メソッドを使用して時刻コンポーネントを取得する必要があります。
<code class="python">import datetime datetime_obj = datetime.datetime(100, 1, 1, 11, 34, 59) new_datetime_obj = datetime_obj + datetime.timedelta(seconds=3) print(new_datetime_obj.time()) # Output: 11:35:02</code>
このアプローチでは望ましい結果が得られますが、追加の手順が必要です。
代わりに、datetime.time オブジェクトと追加する秒数を受け取る関数を使用することもできます。
<code class="python">def add_secs_to_time(time_obj, secs): delta = datetime.timedelta(seconds=secs) return datetime.time( (time_obj.hour + delta.seconds // 3600) % 24, (time_obj.minute + (delta.seconds % 3600) // 60) % 60, (time_obj.second + delta.seconds % 60) % 60 ) time_obj = datetime.time(11, 34, 59) new_time_obj = add_secs_to_time(time_obj, 3) print(new_time_obj) # Output: 11:35:02</code>
この関数は、新しい時刻の値を手動で計算し、正しい時刻の処理を保証します。
これらのアプローチを利用すると、datetime.time オブジェクトに秒を簡単かつ効率的に追加でき、Python プログラムで正確な時刻操作が可能になります。
以上がPython datetime.time オブジェクトに秒を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。