我需要得到没有时间的当前日期,然后与用户输入的其他日期进行比较
import datetime now = datetime.datetime.now()
示例
currentDate="01/08/2015" userDate="01/07/2015" if currentData > userDate: ......... else: ...................
owfi6suc1#
你可以使用datetime.date对象,它们没有时间部分。您可以使用datetime.date.today()获取当前日期,示例-
datetime.date
datetime.date.today()
now = datetime.date.today()
这将给予你一个类型为-datetime.date的对象。您可以使用.date()方法获取datetime对象的date()部分,然后可以比较两个日期。举例-
.date()
datetime
date()
now = datetime.date.today() currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date()
然后你可以比较它们。此外,要将字符串转换为日期,您应该使用datetime.strptime(),就像我在上面使用的那样,例如-
datetime.strptime()
currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date()
这将导致currentDate成为datetime.date对象。示例/演示-
currentDate
>>> now = datetime.date.today() >>> currentDate = datetime.datetime.strptime('01/08/2015','%d/%m/%Y').date() >>> now > currentDate False >>> now < currentDate False >>> now == currentDate True
sc4hvdpw2#
在Python 3.9.5中:
from datetime import datetime, time datetime.combine(datetime.now(), time.min)
它给出了结果(如果在2021年12月9日运行):
datetime.date(2021, 12, 9)
它是一个datetime对象。正如Anand S. Kumar的回复所述,您应该使用datetime.strptime()将用户提供的日期转换为datetime对象。然后你可以做简单的相等比较(==),>,<等。
==
>
<
wn9m85ua3#
请尝试:datetime.today().date()结果:datetime.date(2021,6,26)
z9ju0rcb4#
如果你想比较日期,那么比较日期,而不是字符串。使用datetime.datetime.strptime()解析用户输入的日期。
datetime.datetime.strptime()
import datetime now = datetime.datetime.now() userDate = "01/07/2015" if datetime.datetime.strptime(userDate, '%m/%d/%Y') < now: ...
cwxwcias5#
对于那些在2023年寻找答案的人来说,试试看:
datetime.date(datetime.now())
5条答案
按热度按时间owfi6suc1#
你可以使用
datetime.date
对象,它们没有时间部分。您可以使用
datetime.date.today()
获取当前日期,示例-这将给予你一个类型为-
datetime.date
的对象。您可以使用.date()
方法获取datetime
对象的date()
部分,然后可以比较两个日期。举例-
然后你可以比较它们。
此外,要将字符串转换为日期,您应该使用
datetime.strptime()
,就像我在上面使用的那样,例如-这将导致
currentDate
成为datetime.date
对象。示例/演示-
sc4hvdpw2#
在Python 3.9.5中:
它给出了结果(如果在2021年12月9日运行):
它是一个datetime对象。
正如Anand S. Kumar的回复所述,您应该使用datetime.strptime()将用户提供的日期转换为datetime对象。然后你可以做简单的相等比较(
==
),>
,<
等。wn9m85ua3#
请尝试:datetime.today().date()
结果:datetime.date(2021,6,26)
z9ju0rcb4#
如果你想比较日期,那么比较日期,而不是字符串。使用
datetime.datetime.strptime()
解析用户输入的日期。cwxwcias5#
对于那些在2023年寻找答案的人来说,试试看: