Python -当格式不一致时,将经过的时间转换为秒



我试图确定给定时间字符串所经过的秒数。这些时间字符串并不总是一致的。

例子:

'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

相关内容

  • 没有找到相关文章