2017-02-02 7 views
0
나는 다음과 같은 오류를 얻고있다

:파이썬 : 값 오류 - timedate 형식 오류

from datetime import datetime 

latest_datetime = 'Feb 1, 2017 0:03 pm'  
datetime_obj = datetime.strptime(latest_datetime, "%b %d, %Y %I:%M %p") 

가 나는 오류를 얻을 이유를 알아낼 수 없어요 : 여기

ValueError: time data 'Feb 1, 2017 0:03 pm' does not match format '%b %d, %Y %I:%M %p' 

는 코드입니다.

답변

2

12 시간 시계에는 0 시간이 없습니다. strftime() and strptime() Behavior documentation에서

0:03 pm 

: %I는 귀하의 타임 스탬프가에서 불가능한 시간이 12에 1 ~ 일치합니다

%I
Hour (12-hour clock) as a zero-padded decimal number.
01, 02, ..., 12

0 정말 12입니다 가정을, 당신은 ' 0:'를 교체하여 수리 할 수 '12:' (0의 선행 공백에주의하십시오!) :

>>> from datetime import datetime 
>>> latest_datetime = 'Feb 1, 2017 0:03 pm' 
>>> datetime.strptime(latest_datetime.replace(' 0:', '12:'), "%b %d, %Y %I:%M %p") 
datetime.datetime(2017, 2, 1, 12, 3) 

1 년에서 1 시간 사이에 하나 또는 두 개의 공백이 있으면 문자열이 어느 방식 으로든 파싱됩니다.

+0

네가 맞아, 콘솔에서 나쁘고/급한 진단 재생을 했어. –