2013-03-17 78 views
0
>>> x 
['00:05:09.252', '00:05:42.244', '00:06:44.546'] 

如何将这些字符串项目转换为'hh:mm:ss.uuu'时间格式,以便我可以使用此格式进行时间计算?将字符串转换为时间格式

我阅读文档,但一切似乎datetime和不同的时区的角度来解释,而我只想做时间格式计算无书面方式我自己的函数完成这个任务。

回答

2

给你的数据是严格的格式,以hour:min:sec.usec

(貌似他们没有directives以应对蟒蛇strptime微秒,所以想你必须自己提供值datetime.time的构造函数)

import datetime 
def timeconverter(timestring): 
    hour, min, sec = timestring.split(':') 
    sec, usec = sec.split('.') 
    time = datetime.time(*[int(x, 10) for x in (hour, min, sec, usec)]) 
    return time 
+0

我以某种方式预计在Python中的时间操作更简单。感谢提供转换功能 – user2136786 2013-03-17 04:11:39

+0

@ user2136786如果没有发现任何微秒(usecs)这将是简单的:d – thkang 2013-03-17 04:18:53

+0

是,和Python不具备这样的格式化器,虽然似乎是微秒。所以,在进行计算之后,如果我想将这些时间对象转换为可读格式,我不能再改变一下你的转换器以微秒或其他方式工作 – user2136786 2013-03-17 04:28:27

0

退房strptime时间模块中。

import time 
t= time.strptime("00:05:42.244", "%H:%M:%S") 

如果您不关心秒的小数部分,请这样做。如果你真的在意,那么由康康使用的approuch是一个更好的解决方案。

+0

'datetime.strptime('00:05:42.244' , “%H:%M:%S%F”)' - >'datetime.datetime(1900,1,1,0,5,42,24,4000)'。要获得'datetime.time'对象,可以使用'.time()'方法。注意:它忽略时区问题。 – jfs 2013-03-17 05:10:37

相关问题