Python 异常用户输入日期时间
如何对此用户输入格式引发异常Python 异常用户输入日期时间,python,date,datetime,Python,Date,Datetime,如何对此用户输入格式引发异常 data_base = datetime.datetime.strptime(input("Informe a data base (dd/mm/aaaa): "), "%d/%m/%Y") data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y"))) print
data_base = datetime.datetime.strptime(input("Informe a data base (dd/mm/aaaa): "), "%d/%m/%Y")
data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y")))
print("Data base: " + data_base.strftime("%d/%m/%Y"))
我试过了,但我一直得到一个信息:
data_base = datetime.datetime.strptime(input("Informe a data base (dd/mm/aaaa): "), "%d/%m/%Y")
try:
data_base = datetime.datetime.strptime(str(data_base), "%d/%m/%Y")
except ValueError:
print("Incorrect format")
data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y")))
print("Data base: " + data_base.strftime("%d/%m/%Y"))
我想你是想做这样的事情:
import datetime
data_base = input("Informe a data base (dd/mm/aaaa): ")
try:
data_base = datetime.datetime.strptime(str(data_base), "%d/%m/%Y")
except ValueError:
print("Incorrect format")
else:
data_base = datetime.date(day=int(data_base.strftime("%d")), month=int(data_base.strftime("%m")), year=int(data_base.strftime("%Y")))
print("Data base: " + data_base.strftime("%d/%m/%Y"))
我认为阻碍您的是您将
datetime.datetime.strtime
调用留在了input
调用中,而该调用不在try
块中。我不确定您想在这里做什么?您是想引发异常还是捕获异常?对不起。我不知道起跳和接球之间的区别。如果用户没有正确插入日期(dd/mm/yyyy),我只需要显示“格式不正确”。这可能是因为第一个数据库变量返回%d/%m/%Y%H:%m:%s。我尝试将try变量更改为data\u base=datetime.datetime.strtime(str(数据库),“%d/%m/%Y%H:%m:%s”)
,但运气不好。你能将“Exception”改为“e:`而不是Exception ValueError:
和print(e)
还要查看出现错误的原因。e返回时出现异常:时间数据“2014-11-12 00:00:00”与格式“%Y/%m/%d%H:%m:%S”不匹配。