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
Freigeben: 2024-12-06 17:20:14
Original
1038 Leute haben es durchsucht

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage