Maison >développement back-end >Tutoriel Python >24 heures se sont-elles écoulées depuis une date/heure donnée en Python ?

24 heures se sont-elles écoulées depuis une date/heure donnée en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-10 09:12:12931parcourir

Has 24 Hours Passed Since a Given DateTime in Python?

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

Description du problème

Supposons que vous ayez un objet datetime appelé last_updated représentant la dernière fois un programme particulier a été exécuté. Pour déterminer si 24 heures complètes se sont écoulées depuis, suivez ces étapes :

Solution

  1. Obtenir l'heure actuelle :
import datetime

now = datetime.datetime.now()
  1. Calculer l'heure Différence :
time_difference = now - last_updated
  1. Convertir en heures :
hours = time_difference.total_seconds() / 3600
  1. Vérifiez la Condition :
if hours >= 24:
    # 24 hours or more have passed
  1. Considérations supplémentaires :

Selon si last_updated est naïf (ignorant le fuseau horaire) ou un objet datetime prenant en compte le fuseau horaire, vous devrez peut-être ajuster le calcul du décalage horaire en conséquence. Consultez la documentation Python pour plus de détails.

Par exemple, si last_updated est naïf et représente l'heure UTC, vous pouvez utiliser le code suivant :

from datetime import datetime, timedelta

if (datetime.utcnow() - last_updated) > timedelta(hours=24):
    # 24 hours or more have passed in UTC

Si last_updated est naïf et représente une heure locale heure, vous pouvez utiliser le code suivant :

import time

DAY = 86400
now = time.time()
then = time.mktime(last_updated.timetuple())

if (now - then) > DAY:
    # 24 hours or more have passed in local time

Pour les objets datetime prenant en charge le fuseau horaire, il est recommandé de les convertir en UTC avant effectuer le calcul du décalage horaire.

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