본문 바로가기
파이썬

파이썬에서 날짜가 유효한지 확인하는 방법은 무엇입니까?

by º기록 2020. 9. 15.
반응형

나는 일종의 캘린더 웹 앱을 만들고 있습니다.

HTML로 다음 양식을 설정했습니다.

<form action='/event' method='post'>
Year ("yyyy"):  <input type='text' name='year' />
Month ("mm"):  <input type='text' name='month' />
Day ("dd"):  <input type='text' name='day' />
Hour ("hh"):  <input type='text' name='hour' />
Description:  <input type='text' name='info' />
             <input type='submit' name='submit' value='Submit'/>
</form>

사용자의 입력은 체리 피 서버에 제출됩니다.

사용자가 입력 한 날짜가 유효한 날짜인지 확인하는 방법이 있나요?

분명히 많은 if 문을 작성할 수 있지만 이것을 확인할 수있는 내장 함수가 있습니까?

감사

 

해결 방법

 

시도해 볼 수 있습니다.

import datetime
datetime.datetime(year=year,month=month,day=day,hour=hour)

이는 월> 12, 시간> 23, 존재하지 않는 윤일과 같은 것을 제거합니다 (month = 2는 비 윤년에 최대 28 일, 그렇지 않으면 29 일, 다른 달은 최대 30 일 또는 31 일) (오류시 ValueError 예외 발생).

또한 일부 온전한 상한 / 하한과 비교해 볼 수 있습니다. 전의.:

datetime.date(year=2000, month=1,day=1) < datetime.datetime(year=year,month=month,day=day,hour=hour) <= datetime.datetime.now()

관련 상한 및 하한 온전한 경계는 필요에 따라 다릅니다.

편집 : 이것은 귀하의 응용 프로그램에 유효하지 않을 수있는 특정 날짜 시간을 처리하지 않는다는 것을 기억하십시오 (최소 생일, 공휴일, 영업 시간 외 등).

 

참조 페이지 https://stackoverflow.com/questions/9987818

 

 

반응형

댓글