在列表中查找最旧/最旧的date时间对象
我有一个datetime对象的列表,我想find最老的或最年轻的一个。 其中一些date可能在未来。
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()的每一个。
最老的:
oldest = min(datetimes)
现在最年轻:
now = datetime.datetime.now(pytz.utc) youngest = max(dt for dt in datetimes if dt < now)
鉴于date列表dates
:
最大date是max(dates)
min(dates)
date是min(dates)
date时间是可比较的; 所以你可以使用max(datetimes_list)
和min(datetimes_list)
你有没有试过这个:
>>> from datetime import datetime as DT >>> l =[] >>> l.append(DT(1988,12,12)) >>> l.append(DT(1979,12,12)) >>> l.append(DT(1979,12,11)) >>> l.append(DT(2011,12,11)) >>> l.append(DT(2022,12,11)) >>> min(l) datetime.datetime(1979, 12, 11, 0, 0) >>> max(l) datetime.datetime(2022, 12, 11, 0, 0)