将字符串转换为时间戳 python

时间:2021-07-30 09:10:47

标签: python list datetime timestamp

我正在尝试将 str 列表转换为时间戳列表,然后想使用 total_seconds() 创建时间戳的时间增量列表

from datetime import datetime 
a = ['091122333','092222222','093333333']
for i in a:
    datetime.strptime(str(i),'%H:%M:%S.%f')
print(a)

显示时间数据'091122333'不匹配格式'%H:%M:%S.%f'的错误代码

如果可能,我想制作时间戳 09(%H)11(%M)22(%S)333(%F)。 你能给我上面的建议吗?

非常感谢...

2 个答案:

答案 0 :(得分:0)

传递给 strptime 的格式应代表字符串中使用的格式(字符串中没有冒号):

from datetime import datetime
a = ['091122333', '092222222', '093333333']

for i in a:
    dt = datetime.strptime(str(i), '%H%M%S%f')
    print(dt)

出:

1900-01-01 09:11:22.333000
1900-01-01 09:22:22.222000
1900-01-01 09:33:33.333000

答案 1 :(得分:0)

您必须首先更改表示(您有 :,它不存在于 a 的字符串列表中)以及您如何管理从日期时间返回的内容。 strptime(您必须在遍历列表时存储该值),如下所示:

from datetime import datetime 
a = ['091122333','092222222','093333333']
for t in range(len(a)):
    a[t] = datetime.strptime(a[t],'%H%M%S%f')
delta = a[1]-a[0] 
print(delta.total_seconds())