Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串格式化为基于时间的数据类型_Python_Python 3.x - Fatal编程技术网

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

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

我有一个字符串列表,表示不同时间间隔的不同计时比赛结果(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脚本来转换字符串


任何提示/建议,不胜感激

您可以使用
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。希望能有点帮助。