Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich effizient feststellen, ob zwischen zwei Python-„datetime'-Objekten 24 Stunden vergangen sind?

Wie kann ich effizient feststellen, ob zwischen zwei Python-„datetime'-Objekten 24 Stunden vergangen sind?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-06 17:20:141050Durchsuche

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

Berechnung der Zeitdifferenz, um festzustellen, ob 24 Stunden vergangen sind

Die Aufgabe besteht darin, zu ermitteln, ob zwischen zwei gespeicherten Daten oder Zeiten 24 Stunden vergangen sind ein datetime-Objekt. Hier ist eine Lösung in Python:

Naive Datetime-Objekte verwenden

Wenn das Datetime-Objekt eine naive Zeit darstellt (ohne Zeitzoneninformationen):

from datetime import datetime, timedelta

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

Verwendung lokaler Zeitobjekte

Wenn last_updated lokal darstellt Zeit:

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

Verwendung des tzlocal-Moduls (empfohlen)

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

Diese Methode behandelt Fälle, in denen sich Zeitzonen geändert haben oder Sommerzeit-Offsets (DST) aufgetreten sind gewesen angepasst.

Hinweise:

  • Wenn last_updated ein bewusstes Datum/Uhrzeit-Objekt (mit Zeitzoneninformationen) ist, subtrahieren Sie den UTC-Offset vor dem Vergleich.
  • Das Arbeiten mit UTC-Zeit minimiert Zeitzonenprobleme und wird allgemein empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient feststellen, ob zwischen zwei Python-„datetime'-Objekten 24 Stunden vergangen sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn