728x90
입력받은 날짜를 정확히 입력했는지 확인하는 파이썬 코드입니다.
날짜 형식에 맞는지 확인하는 방법
datetime 모듈에 strptime은 문자열을 datetime 형태로 바꿔주는 메소드입니다. 입력받은 문자열이 날짜 형식에 맞으면 datetime 형태로 바꿔주고 맞지 않으면 에러가 발생하기 때문에 이를 이용하여 입력받은 날짜의 유효성을 검사하는 함수를 만들 수 있습니다.
import datetime
def validate_date(date_text):
try:
datetime.datetime.strptime(date_text,"%Y-%m-%d")
return True
except ValueError:
print("Incorrect data format({0}), should be YYYY-MM-DD".format(date_text))
return False
print (validate_date('2003-12-23'))
print (validate_date('2003-13-01'))
print (validate_date('2003-01-33'))
strptime을 이용하여 입력받은 문자열이 날짜형식인 "YYYY-MM-DD"로 변환되는지 확인합니다. try-except로 strptime을 묶어주면 변환되지 않은 문자열이라서 오류 발생 시 except로 빠지게 됩니다. try에서 strptime으로 변환이 완료되면 정상적인 날짜 형식이므로 리턴을 True로 하고, except에 걸리면 정상적이지 않은 날짜형식이기 때문에 리턴을 False로 해서 유효성 검사를 할 수 있습니다.
위 코드 수행 결과는 다음과 같습니다.
입력한 '2003-12-23'은 날짜 형식에 맞기 때문에 True를 리턴했고, '2003-13-01'이나 '2003-01-33'은 날짜 형식에 안맞기 떄문에 False를 리턴했습니다.
이상 파이썬에서 입력받은 날짜의 유효성을 검사하는 방법을 알아보았습니다.
728x90
728x90
LIST
Comment