Maison >développement back-end >Tutoriel Python >Comment puis-je déterminer efficacement si 24 heures se sont écoulées entre deux objets Python « datetime » ?
Calcul du décalage horaire pour déterminer si 24 heures se sont écoulées
La tâche consiste à déterminer si 24 heures se sont écoulées entre deux dates ou heures stockées dans un objet datetime. Voici une solution en Python :
Utilisation d'objets datetime naïfs
Si l'objet datetime représente une heure naïve (sans informations de fuseau horaire) :
from datetime import datetime, timedelta if (datetime.utcnow() - last_updated) > timedelta(hours=24): # More than 24 hours passed since last_updated
Utilisation d'objets d'heure locale
Si last_updated représente local time :
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
Utilisation du module tzlocal (recommandé)
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
Cette méthode gère les cas où les fuseaux horaires peuvent avoir changé ou où les décalages de l'heure d'été (DST) ont a été ajusté.
Remarques :
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!