2013-09-02 2 views
0

다른 형식으로 날짜 형식을 변경해야합니다. 내가 가진 날짜는 : 00 : 00 :마이크로 초 단위로 날짜 형식 변경

import datetime 
s1 = datetime.datetime.strptime('00:00:01.0156001', '%H:%M:%S.%f') 
print s1.strftime('%S%f') 

그러나이 인쇄 앞의 0과 모든 마이크로-01015600

감사 : 01.0156001 는 내가이 코드를 작성 를 1015ms로 변경하려면

+0

아니다 그것? –

답변

1

이 경우 .strftime()을 사용하지 마십시오. 당신은 지속 시간이 필요 경우 timedelta로 변환하고 1000 분의 1 초 값으로 작동하기 위해 timedelta.total_seconds() 방법을 사용하십시오

s1 = datetime.datetime.strptime('00:00:01.015600', '%H:%M:%S.%f') 
delta = s1 - datetime.datetime.combine(s1.date(), datetime.time.min) 

print '{:.0f}ms'.format(delta.total_seconds() * 1000) 

데모 : 반올림 1016 밀리 초입니다

>>> import datetime 
>>> s1 = datetime.datetime.strptime('00:00:01.015600', '%H:%M:%S.%f') 
>>> delta = s1 - datetime.datetime.combine(s1.date(), datetime.time.min) 
>>> print '{:.0f}ms'.format(delta.total_seconds() * 1000) 
1016ms 
+0

안녕하세요, 작동 시간 : 00 : 00 : 00.015600하지만 00 : 00 : 00.0156001로 실행하면 ValueError : 변환되지 않은 데이터가 남아 있습니다. 1. 어떻게 해결할 수 있습니까? – user2682320

+0

@ user2682320 : 추가 후행 '1'이 아니라, 맞습니까? 한 자리가 너무 많아서 왜 거기에 있었는지 궁금 해서요. –

+0

예, 저는 : 로그 파일을 구문 분석하려고하는데 이것은 출력입니다. 출력은 00 : 00 : 00.0156001이고 그것은 작동하지 않습니다 .. – user2682320

관련 문제