0
votes

Comment ajouter une quantité de temps spécifique en python

Mon code:

from datetime import datetime, date,time
timeobj = time(0, 5)
start = datetime.now().time()
time1 = datetime.combine(date.min, start) - datetime.combine(date.min, timeobj)
tx = start+time1 # throws error in here
if (start >= tx):
   pass #do stuff


4 commentaires

Dans quelle ligne l'erreur se réfère-t-elle?


Je pense que DateTime.Time et DateTime.Timedelta ne peuvent pas être ajoutés


Pouvez-vous expliquer ce que vous essayez d'accomplir ici? Il semble trop compliqué.


@Scotthunter, j'ai simplifié cela donc sans la nécessité de convertir entre DateTime et TimeDelta


3 Réponses :


0
votes

Voici ma suggestion:

from datetime import datetime, date, time
timeobj = time(0,5)
start = datetime.combine(date.min, datetime.now().time())
time1 = datetime.combine(date.min, start) - datetime.combine(date.min, timeobj)
tx = (start+time1).time()
if start.time() > tx:
    pass # do stuff


0 commentaires

0
votes

Le problème ici est que Démarrer est un objet DateTime.Time et TIME1 est une TimerEnta entre deux DateTime.datetitimes, donc le + L'opérateur n'a pas de sens pour les combiner d'où l'erreur. Je ne suis pas totalement sûr de ce que vous essayez d'atteindre, mais en général, assurez-vous que votre variable Démarrer est d'une sorte que le TimeDelta peut être ajouté à, par exemple: xxx < / p>


0 commentaires

0
votes

Ne le rendez pas compliqué et il suffit de comparer Démarrer et Timeobj (5h00). Pourquoi? C'est parce que vous comparez simplement si l'heure actuelle est inférieure à 5h du matin. Faisons une algèbre de base. xxx

script mis à jour: xxx


0 commentaires