파이썬에서 달성하고자 하는 날짜 유효성 검사는 보유한 날짜 형식에 따라 크게 달라집니다. 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 | 시간대 이름(시간대가 없으면 문자 없음). |
%% | 리터럴 "%" 문자 |