【问题标题】:How to calculate the time and find the remaining hours如何计算时间并找到剩余小时数
【发布时间】:2018-10-12 13:07:20
【问题描述】:

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

示例:我必须工作 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

【问题讨论】:

  • 再看看你的代码。您可能分配了s3 = '08:00:00 以减少tdelta 的差异,但您从未引用过它。你期望它如何工作?提示:查看datetime.timedelta,用于加减时差。
  • python time subtraction的可能重复

标签: python python-3.x datetime


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您需要从tdelta 中减去工作日的长度(考虑到休息时间,这似乎是一个小时)以确定超出部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多