日時オブジェクトのリストがあり、最も古いものまたは最も若いものを見つけたい。これらの日付の一部は将来になる可能性があります。
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)
日付のリストdates
:
最大日付はmax(dates)
です
最小日付はmin(dates)
です
日時は同等です。 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)
日時モジュールには、使用可能なメソッドとしてminとmaxの独自のバージョンがあります。 https://docs.python.org/2/library/datetime.html