I’m trying to make it so that it checks if its in the format I want and if its greater than today’s date. I want it to ask for input until it gets a right answer but I can’t find a way to do so.
while True:
try:
x=dt.datetime.strptime(input(), '%d/%m/%Y')
break
except ValueError:
print(1)
Advertisement
Answer
You can use the today class method to get a datetime object representing today’s date, and use the > or < operator to compare it to the parsed x:
while True:
try:
x = dt.datetime.strptime(input(), '%d/%m/%Y')
if x > dt.datetime.today():
break
else:
print('before today')
except ValueError:
print('wrong format')