使用Python中的datetime比较日期

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比较日期,但一定有更简单的方法..

1个回答

5

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

当日期1早于日期2时,认为日期1小于日期2。

>>> 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)]

真是太快了!我简直不敢相信我没有想到使用不等式语句..非常感谢! - Matthew

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接