У вас может быть две ситуации
x = (work_stop - work_start) - (lunch_stop - lunch_start)
Но для обеда нужны два значения
Или
x = (work_stop - work_start) - time_spend_on_lunch
, но здесь time_spend_on_lunch_start
должно быть timedelta
вместо datetime
Пример 1
import datetime
work_start = datetime.datetime.strptime("8:00", "%H:%M")
work_stop = datetime.datetime.strptime("16:00", "%H:%M")
lunch_start = datetime.datetime.strptime("12:00", "%H:%M")
lunch_stop = datetime.datetime.strptime("13:30", "%H:%M")
x = (work_stop - work_start) - (lunch_stop - lunch_start)
print(x)
Пример 2
import datetime
work_start = datetime.datetime.strptime("8:00", "%H:%M")
work_stop = datetime.datetime.strptime("16:00", "%H:%M")
time = "1:30"
time = time.split(':')
time = [int(x) for x in time]
time_spend_on_lunch = datetime.timedelta(hours=time[0], minutes=time[1])
x = (work_stop - work_start) - time_spend_on_lunch
print(x)
Вы также можете определить midnight
для преобразования datetime
вtimedelta
import datetime
midnight = datetime.datetime.strptime("0:00", "%H:%M")
time = "1:30"
time = datetime.datetime.strptime(time, "%H:%M")
time_spend_on_lunch = time - midnight
print( time_spend_on_lunch )
print( type(time_spend_on_lunch) )