Python - 当格式不一致时,将经过的时间转换为秒
我正在尝试计算给定时间字符串经过了多少秒。这些时间字符串并不总是一致的。
举个例子:
'01:02' 表示 1 分钟 2 秒 = 62 秒
'1-11:01:02' 表示 1 天 11 小时 1 分钟 2 秒 = 126062 秒
我试过使用 time.strptime,但没有找到一个优雅的方法来完成这个操作。有没有什么好的建议?
1 个回答
1
一种方法是把所有可能的格式放在一个数组里,然后把时间字符串和这些格式进行比较:
time_formats = ["%m-%d:%H:%M","%H:%M"]
time_val = None
for fmt in time_formats:
try:
time_val = time.strptime(time_str,fmt)
except:
pass
if time_val is None:
print "No matching format found"
这种尝试-捕获的结构符合Python中的EAFP原则。你可以在这里了解更多:http://docs.python.org/2/glossary.html