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

时间:2014-03-19 15:41:33

标签: python datetime time

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

示例:

' 01:02' = 1分钟,2秒= 62秒

' 1-11:01:02' = 1天,11小时,1分钟,2秒= 126062秒

我已经尝试过time.strptime,但我没有看到优雅地执行此操作的方法。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

一种方法是在数组中收集所有可能的格式并检查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