在列表中找到最旧/最年轻的日期时间对象
我有一堆日期时间对象,我想找出最早或最晚的一个。其中有些日期可能是在未来。
from datetime import datetime
datetime_list = [
datetime(2009, 10, 12, 10, 10),
datetime(2010, 10, 12, 10, 10),
datetime(2010, 10, 12, 10, 10),
datetime(2011, 10, 12, 10, 10), #future
datetime(2012, 10, 12, 10, 10), #future
]
那么,最好的方法是什么呢?我在想可以把现在的时间(datetime.now())和每一个日期进行比较。
5 个回答
19
日期和时间是可以进行比较的;所以你可以使用 max(datetimes_list)
来找出列表中最新的日期和时间,使用 min(datetimes_list)
来找出最早的日期和时间。
42
给定一个日期列表 dates
:
最大日期是 max(dates)
最小日期是 min(dates)
183
最早的:
oldest = min(datetimes)
现在之前最年轻的:
now = datetime.datetime.now(pytz.utc)
youngest = max(dt for dt in datetimes if dt < now)