python - 将用户的给定日期与当前日期匹配
问题描述
我正在做一个项目,我需要将给定的日期(取自用户)与今天匹配,并且我需要运行代码,只有日期大于今天我尝试了各种方法,但它反映了一些转换错误,我在下面使用即使我输入今天之前和今天之后的几天,我也得到与 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
解决方案
问题是您的代码正在比较字符串而不是日期对象,因此请尝试了解比较日期对象
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")
推荐阅读
- visual-c++ - Trouble collecting user inputs and storing them in vector
- azure-logic-apps - How do I return JSON from my Azure Storage Queue?
- solr - Index different type of documents using Solr
- c# - 如何在 .NET Core 2.x 中替换 SqlCommand.BeginExecuteReader?
- c - Global Variable not reading in Lexer function
- php - Caculation of net profit
- reference - 如何将数组的可变引用传递给函数?
- python - 为什么我们要在 Django 中为 MongoDB 创建模型字段?
- graphql - Graphql 超时错误以及如何处理
- matlab - 如何让 KAZE 特征检测角点?