将字符串格式化为基于时间的数据类型

时间:2017-03-24 05:52:08

标签: python python-3.x

我有一个字符串列表,代表不同时间间隔的不同定时比赛结果(ss:SS,mm:ss.SS,hh:mm:ss)。

我希望以支持所有这些格式的通用格式标准化时间间隔,并且能够跨语言进行处理。

我想在这些时间进行计算,将它们存储在数据库中,并将它们转换回要显示的原始字符串

我目前的想法如下

myTimespans = [ "12.04", "1:00.42", "4:19:27" ]

产生类似

的东西
myOutput = [ (0,0,12,04),(0,1,0,42),(4,19,27,0) ]

 # or in datetime

myOutput = [ 00:00:12.04, 00:01:00.42, 4:19:27.00 ]

 # or in milliseconds

 myOutput = [ 12040, 60042, 15582000 ]

不确定哪个是最实用的,以及如何编写python脚本来转换字符串。

任何提示/建议都赞赏!

2 个答案:

答案 0 :(得分:1)

您可以使用datetimedateutil库将其解析为日期时间格式。我只是使用正则表达式来清理字符串。

import re
from dateutil import parser

d = ["12.04", "1:00.42", "4:19:27"]
d_sub = [re.sub('\.', ':', d_) for d_ in d]
print([parser.parse(d_) for d_ in d_sub]) # list in datetime format

正如评论中所提到的,问题应该更具体。

答案 1 :(得分:1)