Saya punya daftar objek datetime, dan saya ingin mencari yang tertua atau termuda. Beberapa dari tanggal ini mungkin di masa mendatang.
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
]
Apa cara paling optimal untuk melakukannya? Saya sedang berpikir untuk membandingkan datetime.now () dengan masing-masing.
max
danmin
?Jawaban:
Tertua:
Yang termuda sebelum sekarang:
now = datetime.datetime.now(pytz.utc) youngest = max(dt for dt in datetimes if dt < now)
sumber
Oldest before now
)date
nilai), jadi nilai tersebut hanya dapat dibandingkan secara alfabetis. Jika Anda malah memiliki larikdate
ataudatetime
nilai, mereka akan dibandingkan dengan benar.Diberikan daftar tanggal
dates
:Tanggal maksimum adalah
max(dates)
Tanggal min adalah
min(dates)
sumber
Waktu data sebanding; sehingga Anda dapat menggunakan
max(datetimes_list)
danmin(datetimes_list)
sumber
sudahkah kamu mencoba ini:
>>> 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)
sumber
Modul datetime memiliki versi min dan max sendiri sebagai metode yang tersedia. https://docs.python.org/2/library/datetime.html
sumber