我写了一个程序,需要翻译日期格式。如果日期格式输入不正确,则会打印无效的格式。它没有出现。
from datetime import datetime
date_input = input('Please enter a date of form(mm/dd/yyyy): ')
date_object = datetime.strptime(date_input, '%m/%d/%Y')
date1 = datetime.strftime(date_input,'%m/%d')
if input == 'date_object':
print(date_object.strftime('%B %d, %Y'))
elif input == date1:
print('invaild date format')
我不知道它怎么了。
试试这个
from datetime import datetime
try:
date_input = input('Please enter a date of form(mm/dd/yyyy): ')
date_object = datetime.strptime(date_input, '%m/%d/%Y')
except:
print('invalid date format')
为什么不做这样的事情:
from datetime import datetime
date_input = input('Please enter a date of form(mm/dd/yyyy): ')
date_object = datetime.strptime(date_input, '%m/%d/%Y')
encoded_date_input = (str(date_object.month)).zfill(2) + '/' +(str(date_object.day)).zfill(2)+ '/' +str(date_object.year)
if encoded_date_input == date_input:
print(date_object.strftime('%B %d, %Y'))
else:
print('invaild date format')
您的条件是检查您的输入是否等于您正在创建的date_object(它被解析为您在第二个参数中给定的格式(。你确定要这样做吗?(input是一个函数,而不是字符串date_input(此外,如果您使用此条件语句只检查2种情况,那么检查您的输入是否等于您正在评估的格式,然后在其他情况下为该条件打印出任何其他情况的错误消息会更好吗?
干杯!