Oct-22-2021, 12:17 AM
import datetime class DateFormatError(Exception): pass class PastDateError(Exception): pass def validate_date(date: str) -> datetime.datetime: try: date_time = datetime.datetime.strptime(date, "%m/%d/%Y %H:%M:%S") except ValueError: raise DateFormatError if date_time.date() < datetime.date.today(): raise PastDateError return date_time def main(): while True: user_date = input("Provide date: ") try: date_time = validate_date(user_date) break except DateFormatError: print("Incorrect date format. Please try again") except PastDateError: print("Dates in the past are not allowed. Please try again") print(f"Correct date recieved {date_time}") if __name__ == "__main__": main()