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

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

Linda Hamilton
Libérer: 2024-12-02 15:16:12
original
727 Les gens l'ont consulté

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

Comment déterminer si 24 heures se sont écoulées entre deux dates-heures en Python

Déterminer si 24 heures se sont écoulées entre deux dates-heures est une tâche courante dans programmation. La méthode fournie, time_diff, calcule la différence de temps entre la dernière heure d'exécution (last_updated) et une période de jour 24 heures plus tard. Cependant, pour vérifier si 24 heures se sont spécifiquement écoulées, des étapes supplémentaires sont nécessaires. Voici quelques approches :

1. Comparaison naïve de date et d'heure (UTC)

Si last_updated représente une date/heure naïve (sans informations de fuseau horaire) en UTC, vous pouvez utiliser le module datetime :

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # More than 24 hours have passed
Copier après la connexion

2. Comparaison naïve de date et d'heure (heure locale)

Si last_updated représente l'heure locale, vous pouvez utiliser le module d'heure :

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())
if (now - then) > DAY:
    # More than 24 hours have passed
Copier après la connexion

3. Comparaison datetime consciente (Timezone-Aware)

Si last_updated est une datetime prenant en compte le fuseau horaire, vous pouvez la convertir en UTC et la comparer avec l'heure UTC actuelle :

from datetime import datetime, timedelta

last_updated_utc = last_updated.replace(tzinfo=None) - last_updated.utcoffset()
if (datetime.utcnow() - last_updated_utc) > timedelta(hours=24):
    # More than 24 hours have passed
Copier après la connexion

4. Utilisation du module tzlocal

Le module tzlocal peut être utilisé pour gérer les conversions de fuseau horaire pour les dates/heures naïves :

from datetime import datetime, timedelta
from tzlocal import get_localzone

local_timezone = get_localzone()
last_updated_aware = local_timezone.localize(last_updated)
if (datetime.now(local_timezone) - last_updated_aware) > timedelta(hours=24):
    # More than 24 hours have passed
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal