Сначала мы можем проанализировать строки в datetime
объекте с помощью:
from datetime import datetime, time
t1 = datetime.strptime(time_str1, '%H:%M')
t2 = datetime.strptime(time_str2, '%H:%M')
, затем мы можем получить абсолютную разницу между datetime
объектами:
dt = abs(t2 - t1)
мыТеперь можно рассчитать количество часов и минут, например:
t = time(dt.seconds // 3600, (dt.seconds // 60) % 60)
, а затем мы можем напечатать это число с помощью strftime
:
t.strftime('%H:%M')
или как функцию:
from datetime import datetime, time
def time_diff(time_str1, time_str2):
t1 = datetime.strptime(time_str1, '%H:%M')
t2 = datetime.strptime(time_str2, '%H:%M')
dt = abs(t2 - t1)
return time(dt.seconds // 3600, (dt.seconds // 60) % 60).strftime('%H:%M')
например:
>>> time_diff('15:30', '11:00')
'04:30'
>>> time_diff('19:28', '12:25')
'07:03'