首页 > 解决方案 > 将用户的给定日期与当前日期匹配

问题描述

我正在做一个项目,我需要将给定的日期(取自用户)与今天匹配,并且我需要运行代码,只有日期大于今天我尝试了各种方法,但它反映了一些转换错误,我在下面使用即使我输入今天之前和今天之后的几天,我也得到与 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 中输入日期 False

在 dd-mm-yy29-06-18 中输入日期 False

在 dd-mm-yy06-06-96 中输入日期 False

在 dd-mm-yy20-05-20 中输入日期 False

标签: pythonstringpython-3.xdatetime

解决方案


问题是您的代码正在比较字符串而不是日期对象,因此请尝试了解比较日期对象

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")

推荐阅读