python - 在 Python 中添加时间值
问题描述
我有以下格式的时间列表:
时:分:秒.微秒
文件如下所示:
0:06:50.137529
0:08:55.439963
0:06:19.179093
0:07:16.680906
0:31:55.778010
0:16:56.940836
是否有一个 Python 函数或一组命令可以让我将所有这些值加在一起?
我最初使用以下代码“构建”这些值:
optimize_times = []
starting_time=(datetime.now())
ending_time=(datetime.now())
optimize_times.append(str(ending_time-starting_time))
解决方案
您可以datetime.timedelta
从标准库中使用:
from datetime import timedelta
L = ['0:06:50.137529', '0:08:55.439963', '0:06:19.179093',
'0:07:16.680906', '0:31:55.778010', '0:16:56.940836']
def str_to_td(x):
hrs, mins, sec_micro = x.split(':')
secs, msecs = map(int, sec_micro.split('.'))
return timedelta(hours=int(hrs), minutes=int(mins), seconds=secs, microseconds=msecs)
res = sum(map(str_to_td, L), timedelta())
# datetime.timedelta(0, 4694, 156337)
注意 this 的输出是一个timedelta
对象。如果这不是您想要的格式,您需要转换回具有附加逻辑的字符串。
推荐阅读
- python - 在 CPU 中使用烧瓶加载预训练模型
- random - 我如何解决这个随机 discord.js 问题
- reactjs - 我怎么知道 save 方法在 mongo 中是否有效
- javascript - TypeError:无法读取未定义的属性“item_name”
- axios - 向 NestJS HTTPService 添加动态标头
- c++ - 解释默认 priority_queue::top() 的行为?
- python - 我使用输入、映射和 int 的非常基本的代码让我感到“TypeError:'str' object is not callable”
- jekyll - jekyll GitHub Page 页面未加载资产
- apache - AJP 连接失败
- c - 硬件如何知道变量是正数还是负数?