2015-01-31 38 views
0

如何减去以下格式数据在Python如何减去HH:MM:SS.sss格式的数据?

a =16:03:00.135 b =16:02:57:507 

请提供此

>>> float(16:03:00.135) - float(16:02:57.507) 
    File "<stdin>", line 1 
    float(16:03:00.135) - float(16:02:57.507) 
      ^
SyntaxError: invalid syntax 
+0

多数民众赞成清楚小时:分钟:秒......你cannnot写的'A = 16:03:00.135' – 2015-01-31 20:50:01

回答

1
a = "16:03:00.135" 
b = "16:02:00.135" 
def str2secs(s): 
    h,m,s = map(float,s.split(":")) 
    return h*3600+m*60 + s 
print str2secs(a) - str2secs(b) 

的str2secs一些投入只是数量拆分TIMESTRING到它的零件和乘以小时在一小时内秒,然后它在一分钟内乘以秒数乘以分钟...然后它累加所有部分以获得该时间串的总秒数

+0

你可以添加一些细节来解释一下这个代码做什么?它现在正在LQP队列中。 – 2015-01-31 21:54:27

1

datetime.strptime指定解析时间:

>>> from datetime import datetime 
>>> d1 = datetime.strptime('16:03:00.135', '%H:%M:%S.%f') 
>>> d2 = datetime.strptime('16:02:57.507', '%H:%M:%S.%f') 
>>> d1 - d2 
datetime.timedelta(0, 2, 628000)