在Python中添加持续时间

2023-12-05

我想在Python中添加一系列的分割。时间以“00:08:30.291”等字符串开头。我似乎找不到使用 Python 对象或 API 来使其方便/优雅的正确方法。时间对象似乎不使用微秒,因此我使用 datetime 的 strptime 成功解析字符串。但日期时间似乎并没有增加,而且我真的不喜欢溢出到天(即 23 + 2 小时 = 25 小时)。我可以使用 datetime.time 但他们也不添加。时间增量似乎是合适的,但从其他事物转换到其他事物似乎有点尴尬。也许我在这里遗漏了一些明显的东西。我希望能够:

for timestring in times:
    t = datetime.strptime("%H:%M:%S.%f", timestring).time
    total_duration = total_duration + t
print total_duration.strftime("%H:%M:%S.%f")

您正在处理的是时差,这就是为什么使用datetime.timedelta仅适用于此:

>>> import datetime
>>> d1 = datetime.datetime.strptime("00:08:30.291", "%H:%M:%S.%f")
>>> d1
datetime.datetime(1900, 1, 1, 0, 8, 30, 291000)
>>> d2
datetime.datetime(1900, 1, 1, 0, 2, 30, 291000)
>>> dt1 = datetime.timedelta(minutes=d1.minute, seconds=d1.second, microseconds=d1.microsecond)
>>> dt2 = datetime.timedelta(minutes=d2.minute, seconds=d2.second, microseconds=d2.microsecond)
>>> fin = dt1 + dt2
>>> fin
datetime.timedelta(0, 660, 582000)
>>> str(fin)
'0:11:00.582000'

另外,请不要使用以下名称sum对于您的变量,您正在隐藏内置变量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中添加持续时间 的相关文章

随机推荐