Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menentukan dengan Cekap jika 24 Jam Telah Berlalu Antara Dua Objek `datetime` Python?

Bagaimanakah Saya Boleh Menentukan dengan Cekap jika 24 Jam Telah Berlalu Antara Dua Objek `datetime` Python?

Mary-Kate Olsen
Lepaskan: 2024-12-06 17:20:14
asal
1038 orang telah melayarinya

How Can I Efficiently Determine if 24 Hours Have Passed Between Two Python `datetime` Objects?

Mengira Perbezaan Masa untuk Menentukan jika 24 Jam Telah Berlalu

Tugas melibatkan menentukan sama ada 24 jam telah berlalu antara dua tarikh atau masa yang disimpan dalam objek datetime. Berikut ialah penyelesaian dalam Python:

Menggunakan Objek Datetime Naif

Jika objek datetime mewakili masa naif (tanpa maklumat zon waktu):

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # More than 24 hours passed since last_updated
Salin selepas log masuk

Menggunakan Objek Masa Setempat

Jika terakhir_kemas kini mewakili waktu tempatan:

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())
if (now - then) > DAY:
    # More than 24 hours passed since last_updated
Salin selepas log masuk

Menggunakan tzlocal Module (Disyorkan)

from datetime import datetime, timedelta
from tzlocal import get_localzone

tz = get_localzone()
then = tz.normalize(tz.localize(last_updated))
now = datetime.now(tz)
if (now - then) > timedelta(hours=24):
    # More than 24 hours passed since last_updated
Salin selepas log masuk

Kaedah ini mengendalikan kes di mana zon waktu mungkin telah berubah atau Daylight Saving Time (DST) offset telah dilaraskan.

Nota:

  • Jika last_updated ialah objek datetime sedar (dengan maklumat zon waktu), tolak offset UTC sebelum membandingkan.
  • Bekerja dengan masa UTC meminimumkan isu zon waktu dan secara amnya disyorkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan dengan Cekap jika 24 Jam Telah Berlalu Antara Dua Objek `datetime` Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan