파이썬에서 달성하고자 하는 날짜 유효성 검사는 보유한 날짜 형식에 따라 크게 달라집니다. datetime 라이브러리의 strptime 함수는 문자열을 날짜/시간으로 구문 분석하는 데 사용할 수 있습니다.
예시
import datetime
date_string = '2017-12-31'
date_format = '%Y-%m-%d'
try:
date_obj = datetime.datetime.strptime(date_string, date_format)
print(date_obj)
except ValueError:
print("Incorrect data format, should be YYYY-MM-DD") 출력
이것은 출력을 제공합니다 -
2017-12-31 00:00:00
다른 많은 지시문을 사용하여 날짜를 구문 분석할 수 있습니다. 다음은 strptime()의 형식 문자열이 지원하는 지시문입니다.
| 지시어 | 의미 |
| %a | 로케일의 축약된 요일 이름입니다. |
| %A | 로케일의 전체 요일 이름입니다. |
| %b | 로케일의 축약된 월 이름입니다. |
| %B | 로케일의 전체 월 이름. |
| %c | 로케일의 적절한 날짜 및 시간 표현. |
| %d | 십진수 [01,31]로 된 월의 일. |
| %H | 십진수로 표시되는 시간(24시간제) [00,23]. |
| %I | 십진수로 표시한 시(12시간제) [01,12]. |
| %j | 십진수 [001,366]로 표시되는 일. |
| %m | 십진수로 표시한 월 [01,12]. |
| %M | 10진수로 된 분 [00,59]. |
| %p | 로케일은 AM 또는 PM에 해당합니다. |
| %S | 10진수로 표시한 초 [00,61]. |
| %U | 10진수 [00,53]로 표시된 연도의 주 번호(일요일이 해당 주의 첫 번째 요일)입니다. 새해 첫 번째 일요일 이전의 모든 날은 0주에 있는 것으로 간주됩니다. |
| %w | 10진수로 나타낸 평일 [0(일요일),6]. |
| %W | 10진수 [00,53]로 표시된 연도의 주 번호(월요일이 주의 첫 번째 요일)입니다. 새해 첫 번째 월요일 이전의 모든 날은 0주에 있는 것으로 간주됩니다. |
| %x | 로케일의 적절한 날짜 표현. |
| %X | 로케일의 적절한 시간 표현. |
| %y | 십진수로 세기가 없는 연도 [00,99]. |
| %Y | 십진수로 세기를 포함하는 연도. |
| %Z | 시간대 이름(시간대가 없으면 문자 없음). |
| %% | 리터럴 "%" 문자 |