2016-08-02 3 views
1

현재 몇 초와 몇 초의 표기법으로 변환하려고합니다. divmod를 사용하여 결과를 datetime 값으로 변환하려고합니다.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' 

나는 형식을 일치하고 내가 알아낼 수 없습니다 꽤 확신을 무엇 문제가 있습니다.

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

테스트 결과 :

답변

1

당신은 %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