【问题标题】:Python: datetime, prevent time from turning into day,hour format when above 24hrPython:日期时间,防止时间在24小时以上时变成日、小时格式
【发布时间】:2017-09-13 00:41:31
【问题描述】:

假设我有两次

import datetime    
x = '23:55:00'
y = '01:07:00'

当它们被加在一起时:

x = datetime.datetime.strptime(x, '%H:%M:%S')
y = datetime.datetime.strptime(y, '%H:%M:%S')
x = datetime.timedelta(hours=x.hour ,minutes=x.minute, seconds=x.second)
y = datetime.timedelta(hours=y.hour, minutes=y.minute, seconds=y.second)
z = x + y

结果是:

z = '1 day, 01:02:00'

有没有办法做出结果:

z = '25:02:00'

【问题讨论】:

  • 这不是有效的时间格式吗?
  • 所以你想要两个日期时间对象之间的小时数、分钟数和秒数?
  • 如果可能的话,我希望将小时数翻到 24 小时。我可以使用正则表达式和一些字符串操作来转换最终结果,但我想知道是否有直接的方法

标签: python datetime datetime-format


【解决方案1】:

要获取 timedelta 对象的总小时数,您可以在 timedelta 对象上调用 total_seconds() 方法,然后使用整数除法除以一小时的秒数 (3600)。

hours = z.total_seconds() // 3600

【讨论】:

    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多