あるdatetime.timeが別のdatetime.timeの後にどれくらいの長さかを調べる方法が必要です非常に簡単ですが...問題は、時間の値が24時間であるため、ある値を別の値から否定するほど簡単ではありません. 代わりに、time_a の後に time_b がどれくらいあるかを計算する必要があります。時間を前方にカウントし、真夜中に時間がループする場合、つまり
time_a = 09:00
time_b = 04:00
ここで、time_b は time_a から 19 時間後です
def time_after_time(time_a, time_b):
a_hour = time_a.hour
a_minute = time_a.minute
b_hour = time_b.hour
b_minute = time_b.minute
out_hour = b_hour - a_hour
out_minute = b_minute - a_minute
if out_hour < 0:
out_hour += 24
if out_minute < 0:
out_hour -= 1
out_minute += 60
return datetime.time(out_hour, out_minute)
これは私の最初の試みでしたが、誤った結果が得られました。
これを行うためのよりクリーンで正しい方法を考えられる人はいますか?