首页 > 解决方案 > 只比较今天的日期,没有小时/分钟/秒

问题描述

我想将今天的时间与另一个没有小时/分钟或秒的新时间进行比较。忽略小时和分钟...

换句话说,如果无论是小时还是分钟,这两天都是一样的,那没关系(额外),否则不好(太旧)......我试过但即使在同一天仍然继续与小时/分钟和秒进行比较. 我该怎么做?

import datetime
currentdate = datetime.datetime.now()
print(currentdate)

newsdate = "Oct-26-2021"
newsdate = datetime.datetime.strptime(newsdate, "%b-%d-%Y")
print(newsdate)

if currentdate == newsdate:
    print("Extra")
else:
print("Too old")`

标签: pythontimecompare

解决方案


仅使用 datetime 的日期组件进行比较,可通过 .date()属性访问:

import datetime
currentdate = datetime.datetime.now()
print(currentdate)

newsdate = "Oct-26-2021"
newsdate = datetime.datetime.strptime(newsdate, "%b-%d-%Y")
print(newsdate)

if currentdate.date() == newsdate.date():
    print("Extra")
else:
    print("Too old")

上面的内容也可以改写如下(也许有助于其他人的可读性):

from datetime import date, datetime

currentdate: date = date.today()
print(currentdate)

date_string = "Oct-26-2021"
newsdate: date = datetime.strptime(date_string, "%b-%d-%Y").date()
print(newsdate)

if currentdate == newsdate:
    print("Extra")
else:
    print("Too old")

推荐阅读