计算发生在同一天但晚一个的日期时间对象时遇到问题

Having trouble counting datetime objects that occur on same day, but one later

我正在遍历成对的 datetime 对象并尝试计算 d1d2 在同一天出现的对,但 d2 出现在之后d1

if语句:

if d1<= d2 and d1.date()==d2.date():
    count = count+1

似乎没有按照我的意愿行事。

这是错误的吗?

如果 d1d2 相等或表示同一日期,则测试将正确地 return True,但 d1 更早日期比 d2:

>>> from datetime import datetime, timedelta
>>> d1 = datetime.now()
>>> d2 = d1 + timedelta(minutes=20)  # slightly later
>>> d1 <= d2
True
>>> d1.date() == d2.date()
True
>>> d1 <= d2 and d1.date() == d2.date()
True
>>> d2 = d1 + timedelta(days=2)  # days later
>>> d1 <= d2 and d1.date() == d2.date()
False
>>> d2 = d1 - timedelta(minutes=20)  # slightly earlier
>>> d1 <= d2 and d1.date() == d2.date()
False

换句话说,有些东西 else 是错误的。