Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier si 24 heures se sont écoulées entre deux dates/heures en Python ?

Comment puis-je vérifier si 24 heures se sont écoulées entre deux dates/heures en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-06 06:53:12934parcourir

How Can I Check if 24 Hours Have Passed Between Two Datetimes in Python?

Comment déterminer si 24 heures se sont écoulées entre des dates et des heures en Python

Lors du développement d'applications Python nécessitant un suivi du temps, il est crucial de savoir comment comparer la différence entre deux dateheures. Dans ce scénario spécifique, l'objectif est de déterminer si 24 heures se sont écoulées depuis une date/heure donnée.

Pour y parvenir, nous pouvons exploiter les méthodes suivantes :

Méthode 1 : Utiliser timedelta

Pour les objets datetime UTC (sans informations de fuseau horaire), vous pouvez utiliser timedelta pour comparer :

from datetime import datetime, timedelta

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

Méthode 2 : Utilisation de time.mktime()

Si last_updated est un objet datetime naïf (sans informations de fuseau horaire), vous pouvez utiliser time. mktime() pour comparer :

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())
if (now - then) > DAY:
    # more than 24 hours passed

Méthode 3 : Utilisation tzlocal

Pour les fuseaux horaires plus complexes, pensez à utiliser tzlocal pour normaliser les objets datetime avant de comparer :

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

Remarque :

  • Pour les objets datetime UTC, utilisez datetime.utcnow().
  • Pour les objets datetime heure locale, utilisez datetime.now().
  • time.mktime() peut ne pas fonctionner correctement pendant les transitions vers l'heure d'été (DST).
  • tzlocal est une solution recommandée pour gérer les fuseaux horaires.

En implémentant ces méthodes, vous pouvez vérifier efficacement si 24 heures se sont écoulées entre deux dates/heures, garantissant ainsi des calculs précis basés sur le temps dans votre Python. programmes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn