Menentukan Jika 24 Jam Telah Berlalu Antara Datetimes Menggunakan Python
Dalam Python, anda boleh dengan mudah menentukan perbezaan masa antara dua datetime menggunakan datetime modul. Ini amat berguna dalam senario di mana anda perlu menyemak sama ada tempoh tertentu, seperti 24 jam, telah berlalu.
Pertimbangkan kaedah berikut:
def time_diff(last_updated): day_period = last_updated.replace(day=last_updated.day + 1, hour=1, minute=0, second=0, microsecond=0) delta_time = day_period - last_updated hours = delta_time.seconds // 3600 # Check if 24 hours have passed if hours >= 24: print("hello") else: print("do nothing")
Kaedah ini mengira perbezaan masa antara masa semasa dan last_updated, objek datetime yang diberikan. Jika 24 jam telah berlalu, ia mencetak "hello"; jika tidak, ia mencetak "tidak berbuat apa-apa."
Walau bagaimanapun, kaedah ini gagal dalam menentukan perbezaan masa 24 jam dengan tepat. Berikut ialah penyelesaian yang lebih tepat:
Masa UTC
Jika last_updated ialah objek datetime naif (tanpa maklumat zon waktu) yang mewakili waktu UTC:
from datetime import datetime, timedelta if (datetime.utcnow() - last_updated) > timedelta(hours=24): # More than 24 hours passed
Masa Setempat
Jika last_updated adalah naif objek datetime (tanpa maklumat zon waktu) 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
Zon Waktu dan Masa Kabur
Jika last_updated ialah masa samar-samar (mis., semasa peralihan DST) , anda boleh menggunakan modul pytz untuk memastikan ketepatan:
from datetime import datetime, timedelta from tzlocal import get_localzone # pip install tzlocal 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
Atas ialah kandungan terperinci Bagaimanakah saya boleh menentukan dengan tepat jika 24 jam telah berlalu antara dua masa dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!