Hallo zusammen,
Ich möchte zwei Uhrzeiten subtrahieren siehe code unten dabei bekomme ich immer folgende Fehlermeldung:
TypeError:unsupported operand type for -: datetime.time and datetime.time
Ich programmiere noch nicht lange python und habe keine Idee wie ich das problem lösen kann.
Kann mir jemand sagen was ich für ein Fehler mache und wie es funktioniert.
Danke im Voraus für eure Antworten
[import datetime
if Zeitmessung == 0:
start_time = datetime.datetime.time(datetime.datetime.utcnow())
print (start_time)
Zeitmessung = 1
if laps == 0 and Zeitmessung == 1:
end_time = datetime.datetime.time(datetime.datetime.utcnow())
print (end_time)
Zeitmessung = 0
div_time =(end_time) - (start_time)
print(div_time)]
zwei Uhrzeiten subtrahieren
@chris74: ... und Differenz schreibt man mit f und nicht mit v. Statt einer zusätzlichen Variable, würde ich start_time auf None prüfen, falls der erste Zeitpunkt noch nicht ermittelt wurde:
Code: Alles auswählen
import datetime
start_time = None
[...]
if start_time is None:
start_time = datetime.datetime.utcnow()
print(start_time)
elif laps == 0:
end_time = datetime.datetime.utcnow()
print(end_time)
difference_time =end_time - start_time
print(difference_time)
start_time = None
Hallo,
so funktioniert es nicht:
start_time = datetime.datetime(datetime.datetime.utcnow())
so geht es
start_time = datetime.datetime.utcnow()
Mir ist zwar der Unterschied nicht ganz klar, aber es geht ja jetzt.
Danke für eure Hilfe.
so funktioniert es nicht:
start_time = datetime.datetime(datetime.datetime.utcnow())
so geht es
start_time = datetime.datetime.utcnow()
Mir ist zwar der Unterschied nicht ganz klar, aber es geht ja jetzt.
Danke für eure Hilfe.
Hallo zusammen,
Ich habe die Doku von dem datetime Modul gelesen aber keine funktionierende Lösung gefunden.
wenn ich z.B. folgendes teste
start_time = datetime.datetime.utcnow()
end_time = datetime.datetime.utcnow()
div_time =(end_time) - (start_time)
d_time = div_time.strftime('%H:%M:%S')
print(d_time)
bekomme ich folgende Fehlermeldung: datetime.timedelta object has no attribute strftime
Es kann doch nicht so schwer sein nur die Uhrzeit anzuzeigen.
Ich stehe leider voll auf dem Schlauch. Kann mir jemand mal ein Bespiel machen wie es gehen könnte.
Mit Kommentaren wie lies die Doku komme ich nicht weiter.
Danke
Ich habe die Doku von dem datetime Modul gelesen aber keine funktionierende Lösung gefunden.
wenn ich z.B. folgendes teste
start_time = datetime.datetime.utcnow()
end_time = datetime.datetime.utcnow()
div_time =(end_time) - (start_time)
d_time = div_time.strftime('%H:%M:%S')
print(d_time)
bekomme ich folgende Fehlermeldung: datetime.timedelta object has no attribute strftime
Es kann doch nicht so schwer sein nur die Uhrzeit anzuzeigen.
Ich stehe leider voll auf dem Schlauch. Kann mir jemand mal ein Bespiel machen wie es gehen könnte.
Mit Kommentaren wie lies die Doku komme ich nicht weiter.
Danke
Du hast ja auch kein datetime Objekt. Sondern ein timedelta Objekt. Das hat keine strftime Methode, weil das da sinnlos ist. Du kannst dieses Objekt aber nach der Anzahl der verflossenen Anzahl von Tagen, Sekunden und Microsekunden fragen. Oder zb der total_seconds. Und daraus errechnen, was du brauchst.