Я пытаюсь автоматизировать документирование своего рабочего времени, и мне нужен способ узнать продолжительность между временем начала и окончания.Во время моего исследования я натолкнулся на этот вопрос, который, казалось, дал решение моей проблемы.
Однако при попытке получить продолжительность между "11:30" и "12:30"метод datetime.time () возвращает «00:00:00», и я понятия не имею, почему.
Это код, который я использую.
from datetime import datetime, timedelta
from time import strptime
start = strptime("11:30", "%H:%M")
stop = strptime("12:30", "%H:%M")
start_dt = datetime(100, 1, 1, start.tm_hour, start.tm_min)
duration = start_dt + timedelta(hours=stop.tm_hour,
minutes=stop.tm_min,
seconds=0)
print(duration.time())
Это мой ожидаемый(желательный) вывод: 01:00:00
Это фактический вывод, который я получаю: 00:00:00
Мне было интересно, было ли это как-то связано с методом time.strptime ()Я использую, чтобы получить значения часов и минут, поэтому я попробовал это также:
from datetime import datetime, timedelta
start_dt = datetime(100, 1, 1, 11, 30)
duration = start_dt + timedelta(hours=12,
minutes=30,
seconds=0)
print(duration.time())
Вывод остается прежним.Кто-нибудь знает почему?Я в полном недоумении.Любая помощь будет оценена.