我需要一種方法來找出多久一個datetime.time是在另一個datetime.time後很簡單,但...問題是,我的時間值是在24小時的時間,所以它不像從另一個值取消一個值那麼簡單。相反,我需要找出是time_b多久time_a後,如果我是在時間和深夜時段循環輪數着,即計算前進的時間a是多久後的時間b
time_a = 09:00
time_b = 04:00
這裏time_b是19小時time_a後
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)
這是我的第一次嘗試,但它給出了錯誤的結果。
任何人都可以想到一個更清潔/正確的方法來做到這一點?
爲什麼不使用'datetime.timedelta'? 'time_b - time_a'將產生一個'timedelta'。 –
這適用於datetime.datetime對象,但不適用於datetime。時間對象unfortunatley –
@MartijnPieters它看起來像假設是時間是同一日期...所以,不太清楚預計什麼答案... –