2013-07-21 128 views
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)

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

return語句應該是:

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

我知道我可以遍歷列表,並比較使用timedelta日期,但必須有一個更簡單的方法..

回答

5

Comparing date with other date is possible.

date1 < date2當date1在date2之前及時時,date1被認爲小於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)] 
+0

這肯定是快!我不相信我沒有想過做不平等的聲明..非常感謝! – Matthew