我试图确定给定时间字符串所经过的秒数。这些时间字符串并不总是一致的。
例子:
'01:02' = 1分,2秒= 62秒
'1-11:01:02' = 1天11小时1分2秒= 126062秒
我试过时间了。strptime,但是我没有找到一种优雅地执行此操作的方法。什么好主意吗?
一种方法是将所有可能的格式收集到一个数组中,并根据它们检查time_str:
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"
这个try-catch结构与python中的EAFP原则一致。http://docs.python.org/2/glossary.html