Python 将字符串格式化为基于时间的数据类型
我有一个字符串列表,表示不同时间间隔的不同计时比赛结果(ss:ss,mm:ss.ss,hh:mm:ss) 我想用一种通用格式来标准化时间间隔,该格式支持所有这些格式,并且能够跨语言处理 我希望对这些时间进行计算,将它们存储在数据库中,并将它们转换回要显示的原始字符串 我目前的想法如下Python 将字符串格式化为基于时间的数据类型,python,python-3.x,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
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脚本来转换字符串
任何提示/建议,不胜感激 您可以使用
datetime
或dateutil
库将它们解析为datetime格式。我只是先用正则表达式来清理字符串
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
如评论中所述,问题应该更具体。您可以使用
datetime
或dateutil
库将它们解析为datetime格式。我只是先用正则表达式来清理字符串
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
正如评论中提到的,问题应该更具体。
具体来说,
具体来说,
我有一个小贴士:明确你的要求。我有一个小贴士:明确你的要求。谢谢查理!我之前的问题有点不清楚,你还会推荐datetime.datetime.strtime()吗?我还是有点困惑。您必须定义不同的
strtime
格式,以符合myTimespans
中每个项目的格式,但是,是的,我仍然推荐它。请务必保存您使用的strtime
格式,以便在strftime
中重用它们。这是一种标准化您必须执行的计算的好方法。(同样,向上投票从来不会伤害任何人:)谢谢查理!我之前的问题有点不清楚,你还会推荐datetime.datetime.strtime()吗?我还是有点困惑。您必须定义不同的strtime
格式,以符合myTimespans
中每个项目的格式,但是,是的,我仍然推荐它。请务必保存您使用的strtime
格式,以便在strftime
中重用它们。这是一种标准化您必须执行的计算的好方法。(同样,向上投票从来不会伤害任何人:)没问题@Zach。希望能有点帮助。没问题@Zach。希望能有点帮助。