我正在一个项目中,我需要将给定的日期(从用户那里获取)与今天匹配,并且我只需要运行该代码,但该日期要比今天大,我尝试了各种方法,但它反映了一些转换错误,并且我使用下面的代码,即使我输入今天之前的日期和今天之后的日期,我也得到与false相同的输出..我认为我认为转换出错了。我想我正在比较两个字符串。但是即使我尝试了各种方法,我也无法获得相同的预期输出。请帮助我解决问题,这是我在项目中累的示例代码
from datetime import date
today = date.today().strftime('%d-%m-%y')
examdate=input('enter date in dd-mm-yy')
print(examdate>today)
输入和输出(当前日期为30-06-18)
在dd-mm-yy29-06-18中输入日期 错误
在dd-mm-yy29-06-18中输入日期 错误
在dd-mm-yy06-06-96中输入日期 错误
在dd-mm-yy20-05-20中输入日期 错误
答案 0 :(得分:3)
问题是您的代码正在比较字符串而不是日期对象 所以尝试了解比较日期对象
from datetime import datetime
examdate=str(input('enter date in dd-mm-yy'))
datetime_object = datetime.strptime(examdate,'%d-%m-%y')
today = datetime.now()
print today.strftime('%d-%m-%y')
if datetime_object>today:
print("Do Somthing")