在列表中查找最旧/最年轻的日期时间对象
问题描述
I've got a list of datetime objects, and I want to find the oldest or youngest one. Some of these dates might be in the future.
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
]
What's the most optimal way to do so? I was thinking of comparing datetime.now() to each one of those.
解决方案Oldest:
oldest = min(datetimes)
Youngest before now:
now = datetime.datetime.now(pytz.utc)
youngest = max(dt for dt in datetimes if dt < now)
相关文章