如何计算时间并找到剩余时间

时间:2018-10-12 13:07:21

标签: python python-3.x datetime

问题我如何打印出剩余的加班时间

示例:我必须工作8个小时,如果我的时间超过OUTPUT所示的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 :(得分:0)

您需要从tdelta中减去工作日的长度(这可能会花费一个小时来计算休息时间)。

答案 1 :(得分:0)

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