Hallo meine erste Post hier,
folgendes Problem. Ich möchte ein datetime.timedelta Object in Stunden umrechnen. Hier ein Beispiel:
(1 day, 0:00:00) soll in Stunden konvertiert werden, es müssten also 24 h sein. Vielleicht gibt es einen effizienten Weg das ganze auch in Minuten oder Sekunden umzurechnen.
Hat jemand eine helfende Idee?
Danke,
wrongspot
timedelta in stunden umrechnen
Ok. mit ein bisschen probieren habe ich mir eine Funktion geschrieben, die das timedelta in "hh:mm" ausgibt, so sollte es klappen
Danke ans Forum für die Ideengebung!
wrongspot
Code: Alles auswählen
def timedeltaToHours(delta):
sec = delta.seconds
daysToHours = delta.days * 24
hours = sec // (60 * 60)
minutes = (sec - (hours * 60 * 60)) // 60
return str(hours + daysToHours) + ":" + str(minutes) + " h"
wrongspot
Soviel Arbeit hättest du dir gar nicht machen müssen.
BlackJack hat in seiner Berechnung lediglich einen Punkt vergessen.
Nein, nicht einmal vergessen - er ist nur aus Versehen hinter die Anführungszeichen gerutscht
BlackJack hat in seiner Berechnung lediglich einen Punkt vergessen.
Nein, nicht einmal vergessen - er ist nur aus Versehen hinter die Anführungszeichen gerutscht
Code: Alles auswählen
import datetime
delta = datetime.timedelta(minutes=45)
hours = delta.hours*24+delta.seconds/3600.0
Bestens der Code sieht deutlich lesbarer aus, nur bei meinem timedelta kennt er kein hours.
woran kann das liegen?
Code: Alles auswählen
'datetime.timedelta' object has no attribute 'hours'
Liegt am Fehler in meinem Code:wrongspot hat geschrieben:Bestens der Code sieht deutlich lesbarer aus, nur bei meinem timedelta kennt er kein hours.
woran kann das liegen?Code: Alles auswählen
'datetime.timedelta' object has no attribute 'hours'
Muss natürlich "delta.days" heißen, nicht "delta.hours" ...
Ich habe keinen Punkt vergessen, sondern vergessen zu sagen, dass über Allem natürlich ein ``from __future__ import division`` steht.