3

所以我有一个日期列表:

[datetime.date(2013, 7, 9), datetime.date(2013, 7, 12), datetime.date(2013, 7, 15), datetime.date(2013, 7, 18), datetime.date(2013, 7, 22), datetime.date(2013, 7, 25)]

我知道今天是:

date.today() 

为了这篇文章,今天是datetime.date(2013, 7, 15)

我需要能够生成任何未来日期的列表,包括今天(如果它在列表中)。

返回语句将是:

[datetime.date(2013, 7, 15), datetime.date(2013, 7, 18), datetime.date(2013, 7, 22), datetime.date(2013, 7, 25)]

我知道我可以迭代一个列表并使用 timedelta 比较日期,但必须有一个更简单的方法..

4

1 回答 1

5

可以将日期与其他日期进行比较。

date1 < date2 date1 当 date1 在 date2 的时间之前被认为小于 date2。

>>> datetime.date(2013, 7, 15) < datetime.date(2013, 7, 16)
True
>>> datetime.date(2013, 7, 15) <= datetime.date(2013, 7, 16)
True
>>> datetime.date(2013, 7, 15) > datetime.date(2013, 7, 16)
False

>>> import datetime
>>> today = datetime.date(2013, 7, 15) # datetime.date.today()
>>> [d for d in dates if d >= today]
[datetime.date(2013, 7, 15), datetime.date(2013, 7, 18), datetime.date(2013, 7, 22), datetime.date(2013, 7, 25)]
于 2013-07-21T04:05:53.333 回答