Je vois que des comparaisons de dates peuvent être faites et il y en a aussi datetime.timedelta()
, mais j'ai du mal à savoir comment vérifier si l'heure actuelle ( datetime.datetime.now()
) est antérieure, postérieure ou identique à une heure spécifiée (par exemple 8h) quelle que soit la date.
python
time
comparison
Steve Jay
la source
la source
'23:23:00' > '23:59:00'
ou'23:23:00' > '23:09:22'
, tout comme vous le feriez entre deuxdatetime.datetime.now().strftime('%H:%M')
valeurs. Est-ce le meilleur moyen de comparer les temps? Je ne sais pas. Est-ce que ça marche? Autant que j'ai testé, cela a bien fonctionné. Mais certainement (et bien sûr): aucune chance de l'utiliser avec une chaîne datetime contenant des mois, des jours de la semaine.Réponses:
Vous ne pouvez pas comparer un moment précis dans le temps (tel que «maintenant») à un événement récurrent non résolu (8 heures du matin se produisent tous les jours).
Vous pouvez vérifier si c'est maintenant avant ou après 8 heures du matin:
la source
Vous pouvez utiliser la
time()
méthode desdatetime
objets pour obtenir l'heure de la journée, que vous pouvez utiliser à des fins de comparaison sans prendre en compte la date:la source
datetime.datetime.now().time()
, n'oubliez pas les crochetsnow()
!Vous pouvez comparer directement les objets datetime.datetime
Par exemple:
la source
Inspiré par Roger Pate:
la source
Une autre façon de faire cela sans ajouter de dépendances ou utiliser datetime consiste simplement à faire des calculs sur les attributs de l'objet temps. Il comporte des heures, des minutes, des secondes, des millisecondes et un fuseau horaire. Pour des comparaisons très simples, les heures et les minutes devraient être suffisantes.
Je ne recommande pas de faire cela à moins que vous n'ayez un cas d'utilisation incroyablement simple. Pour tout ce qui nécessite une connaissance du fuseau horaire ou une connaissance des dates, vous devez utiliser datetime.
la source
datetime ont une capacité de comparaison
la source
Surpris de ne pas avoir vu cette seule doublure ici:
la source
Vous pouvez utiliser la fonction Timedelta pour une comparaison d'augmentation de temps x.
Juste Une combinaison de ces réponses cette Et Roger
la source