【问题标题】:How to add hours and minutes between them如何在它们之间添加小时和分钟
【发布时间】:2015-09-18 20:51:48
【问题描述】:

我想在 python 中做类似2h35 + 0h56 的事情。所以这就是我尝试过的:

>>> t1 = time(2, 35)
>>> t2 = time(0, 56)
>>> t3 = t1 + t2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'datetime.time' and 'datetime.time'

如何在 Python 中一次添加时间? Stackoverflow 上的所有主题都要求在日期上添加时间,但我只需要时间而不是日期!

感谢您的帮助

【问题讨论】:

  • time(14, 0) + time(14, 0) 应该产生什么(或任何其他时间加起来超过一天?
  • 简单,28h!可以超过一天。

标签: python-3.x


【解决方案1】:
from datetime import datetime
from dateutil.relativedelta import relativedelta

if __name__ == '__main__':

    t1 = datetime(year=2015, day=19, month=9, hour=2, minute=35)
    t2 = t1 + relativedelta(minutes=56)

    print(t2.strftime('%H:%m'))

您必须指定一个真实的日期,但在您的情况下,您只对小时和分钟感兴趣,因此您可以使用 strftime 打印它们。

【讨论】:

  • python-dateutil 真的好用
【解决方案2】:

datetime.time 代表绝对时间,添加例如2:35 + 0:56.

python time + timedelta equivalent。那里的解决方案可能会对您有所帮助。

【讨论】:

    猜你喜欢
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2018-04-23
    • 2017-10-22
    • 2023-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多