2016-08-02 205 views
1

我目前正在尝试将秒数转换成分钟和秒表示法。我正在使用divmod并尝试将结果转换为日期时间值。我有以下代码:datetime.strptime()返回一个格式错误%f

from datetime import datetime, timedelta 
processtime = 69.009 
m, s = divmod(processtime, 60) 
m= str(m) 
m=m[:1] 
s= str(s) 
s=s[:5] 
processstring= m+ ' ' + s 
datetimeprocess = datetime.strptime(processstring, "%M %S.f") 

但是每次我这样做的时候,我得到这个错误:

ValueError: time data '1 9.009' does not match format '%M %S.f' 

我确信我已经匹配的格式,我想不出什么问题是。

回答

1

你错过了之前%f

datetimeprocess = datetime.strptime(processstring, "%M %S.%f") 

测试结果:

>>> from datetime import datetime, timedelta 
>>> processstring = '1 9.009' 
>>> datetimeprocess = datetime.strptime(processstring, "%M %S.%f") 
>>> print datetimeprocess 
1900-01-01 00:01:09.009000 
>>> 
+0

天哪,谢谢,我是个白痴! – Kprakash

+0

@Kprakash不客气。有时我们只需要第二双眼睛:) – pah