Как рассчитать время и найти оставшиеся часы - PullRequest
0 голосов
/ 12 октября 2018

Вопрос Как распечатать оставшиеся часы сверхурочной работы

Пример: я должен быть на работе в течение 8 часов, и если мое время уходит более 8 часов, как показано в ВЫХОД, тогда я просто хочу получить00:03:00 распечатано .. Это означает, что у меня есть 3 минуты сверхурочной работы в тот день.

from datetime import datetime

s1 = '07:15:00'
s2 = '16:18:00'
FMT = '%H:%M:%S'

tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)

print(tdelta) 

ВЫХОД

9:03:00

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Вычтите продолжительность рабочего дня с timedelta объектом ...

from datetime import datetime, timedelta

s1 = '07:15:00'
s2 = '16:18:00'
FMT = '%H:%M:%S'

work_time = timedelta(hours=8)
lunch_time = timedelta(hours=1)

tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT) - work_time - lunch_time

print(tdelta) 

Вывод:

0:03:00
0 голосов
/ 12 октября 2018

Вам нужно вычесть продолжительность рабочего дня (и это будет час для учета перерывов) из tdelta, чтобы определить превышение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...