首页 > 解决方案 > 如何计算时间并找到剩余小时数

问题描述

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

示例:我必须工作 8 小时,如果我的时间超过 8 小时,如 OUTPUT 中所示,那么我只想打印 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

标签: pythonpython-3.xdatetime

解决方案


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

推荐阅读