计算发生在同一天但晚一个的日期时间对象时遇到问题
Having trouble counting datetime objects that occur on same day, but one later
我正在遍历成对的 datetime
对象并尝试计算 d1
和 d2
在同一天出现的对,但 d2
出现在之后d1
。
if
语句:
if d1<= d2 and d1.date()==d2.date():
count = count+1
似乎没有按照我的意愿行事。
这是错误的吗?
如果 d1
和 d2
相等或表示同一日期,则测试将正确地 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 是错误的。
我正在遍历成对的 datetime
对象并尝试计算 d1
和 d2
在同一天出现的对,但 d2
出现在之后d1
。
if
语句:
if d1<= d2 and d1.date()==d2.date():
count = count+1
似乎没有按照我的意愿行事。
这是错误的吗?
如果 d1
和 d2
相等或表示同一日期,则测试将正确地 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 是错误的。