Maison >développement back-end >Tutoriel Python >Comment vérifier si 24 heures se sont écoulées entre deux dates-heures en 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
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
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
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
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!