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
3 Réponses :
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
Le problème ici est que Démarrer code> est un objet DateTime.Time et TIME1 CODE> est une TimerEnta entre deux DateTime.datetitimes, donc le + code> 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 code> Démarrer CODE> est d'une sorte que le TimeDelta peut être ajouté à, par exemple:
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. script mis à jour: p>
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