rub*_*ent 8 python python-2.7 python-3.x
我需要在没有时间的情况下获取当前日期,然后将该日期与用户输入的其他日期进行比较
import datetime
now = datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)
例
currentDate="01/08/2015"
userDate="01/07/2015"
if currentData > userDate:
.........
else:
...................
Run Code Online (Sandbox Code Playgroud)
Ana*_*mar 17
你可以使用datetime.date
对象,它们没有时间部分.
您可以使用datetime.date.today()
示例获取当前日期-
now = datetime.date.today()
Run Code Online (Sandbox Code Playgroud)
这会给你一个类型的对象 - datetime.date
.您可以使用该方法获取对象的date()
一部分,然后您可以比较两个日期.datetime
.date()
示例 -
now = datetime.date.today()
currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date()
Run Code Online (Sandbox Code Playgroud)
然后你可以比较它们.
另外,要将字符串转换为日期,您应该dateimte.strptime()
像我上面使用的那样使用示例 -
currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date()
Run Code Online (Sandbox Code Playgroud)
这将导致currentDate
成为一个datetime.date
对象.
示例/演示 -
>>> now = datetime.date.today()
>>> currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date()
>>> now > currentDate
False
>>> now < currentDate
False
>>> now == currentDate
True
Run Code Online (Sandbox Code Playgroud)
在 Python 3.9.5 中:
from datetime import datetime, time
datetime.combine(datetime.now(), time.min)
Run Code Online (Sandbox Code Playgroud)
结果如下(如果在 2021 年 12 月 9 日运行):
datetime.date(2021, 12, 9)
Run Code Online (Sandbox Code Playgroud)
这是一个日期时间对象。
正如Anand S. Kumar的回复所述,您也应该使用datetime.strptime()将用户提供的日期转换为 datetime 对象。然后你可以对相等(==
)、>
、<
等进行简单比较。