2017-09-12 1 views
-2

Mein timedelta Objekt sieht so aus: txdelta = 00:30:00. Ich will es ein Datetime-Objekt hinzufügen, aber es wird konsequent nicht funktioniert:Hinzufügen von timedelta Objekt zu datetime

from datetime import datetime, date, time, timedelta 
localdt = datetime.combine(datetime.strptime('2015-06-18', '%Y-%m-%d').date(), 
(23:35:02+timedelta(txdelta)).time()) 

Beachten Sie, dass die 23:35:02 ist bereits ein Datetime-Objekt. Ich bekomme diese Fehlermeldung:

TypeError: unsupported type for timedelta days component: datetime.timedelta 

Was mache ich falsch?

+0

Aktualisieren Sie Ihr Beispiel, so dass es in Python 2.7 läuft, wie ist. Im Moment gibt es 'SyntaxError: ungültige Syntax' zurück. Lassen Sie den Fehler, den Sie geltend machen, zurückgeben. Richtlinien zum Postleitzahlencode finden Sie in [mcve]. –

Antwort

1

Die Art, wie Sie Ihr Objekt time erstellen, ist seltsam. Ich rate Ihnen dringend, es auf diese Weise zu erklären, wenn Sie es nicht gewohnt sind:

txdelta = timedelta(minutes=30) 
tdelta = time(hour=1, minute=35, second=2) 

Wenn ich es bekam auch versucht, einen date, ein time und timedelta zu kombinieren. Der vollständige Code unten sollte es tun:

from datetime import datetime, date, time, timedelta 

txdelta = timedelta(minutes=30) 
tdelta = time(hour=1, minute=35, second=2) 
localdt = datetime.combine(datetime.strptime('2015-06-18', '%Y-%m-%d').date(), tdelta) + txdelta 

print(localdt) 

Grundsätzlich Sie ein Datetime-Objekt mit einer Zeit miteinander zu kombinieren, und man einfach danach das Objekt Timedelta hinzufügen.

Die Ausgabe lautet:

2015-06-18 02:05:02 
Verwandte Themen