Bestimmen, ob 24 Stunden zwischen Datums- und Uhrzeitangaben verstrichen sind, mit Python
In Python können Sie den Zeitunterschied zwischen zwei Datums- und Uhrzeitangaben bequem mithilfe der Datums- und Uhrzeitangabe ermitteln Modul. Dies ist besonders nützlich in Szenarien, in denen Sie überprüfen müssen, ob ein bestimmter Zeitraum, z. B. 24 Stunden, vergangen ist.
Betrachten Sie die folgende Methode:
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")
Diese Methode berechnet den Zeitunterschied zwischen der aktuellen Zeit und last_updated, einem bestimmten Datum/Uhrzeit-Objekt. Wenn 24 Stunden vergangen sind, wird „Hallo“ ausgegeben. andernfalls wird „nichts tun“ ausgegeben.
Allerdings reicht die Methode nicht aus, um den 24-Stunden-Zeitunterschied genau zu bestimmen. Hier sind genauere Lösungen:
UTC-Zeit
Wenn last_updated ein naives Datetime-Objekt (ohne Zeitzoneninformationen) ist, das die UTC-Zeit darstellt:
from datetime import datetime, timedelta if (datetime.utcnow() - last_updated) > timedelta(hours=24): # More than 24 hours passed
Ortszeit
Wenn last_updated ein naives Datetime-Objekt ist (ohne Zeitzoneninformationen), die die Ortszeit darstellen:
import time DAY = 86400 now = time.time() then = time.mktime(last_updated.timetuple()) if (now - then) > DAY: # More than 24 hours passed
Zeitzonen und mehrdeutige Zeiten
Wenn last_updated eine mehrdeutige Zeit ist (z. B. während eines DST-Übergangs), Sie Sie können das Pytz-Modul verwenden, um die Genauigkeit sicherzustellen:
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
Das obige ist der detaillierte Inhalt vonWie kann ich in Python genau feststellen, ob zwischen zwei Datums- und Uhrzeitangaben 24 Stunden vergangen sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!