Seite 1 von 1

Uhrzeiten vergleichen

Verfasst: Sonntag 14. September 2008, 10:32
von BasterTWO
Hallo Python-Friends,
ich wollte mal wissen wir ihr folgendes Problem lösst.

Ich habe zwei Uhrzeiten im selben Format (HH:MM:SS) nun will ich sie mit einanderen vergleichen z.B. ist Uhrzeit 1 5min später also Uhrzeit 2. Ich habe keine Ahnung wie man so was vergleichen könne, wäre super wenn ihr mir dabei helfen könntet.

MfG
BasterTWO

Verfasst: Sonntag 14. September 2008, 11:00
von Leonidas
Uhrzeiten in (date)time Objekte konvertieren und dann das timedelta bilden.

Re: Uhrzeiten vergleichen

Verfasst: Sonntag 14. September 2008, 11:24
von numerix
Wenn es dir nur um das Vergleichen (und nicht um die Berechnung der Zeitdifferenz) geht, dann genügt ein Zeichenkettenvergleich (sofern "hh" bedeutet, dass ggf. eine führende Null dort steht):

Code: Alles auswählen

>>> "12:34:47" < "15:21:04"
True
Und wenn du doch die Zeitdifferenz brauchst, dann z.B. so:

Code: Alles auswählen

>>> zeit1 = "12:34:47"
>>> zeit2 = "15:21:04"
>>> sec = lambda zeit:sum([int(v)*60**(2-n) for n,v in enumerate(zeit.split(":"))])
>>> print "Differenz in Sekunden: %i" %(sec(zeit2)-sec(zeit1))
Differenz in Sekunden: 9977

Verfasst: Sonntag 14. September 2008, 11:54
von HWK
Solange es noch reduce gibt:

Code: Alles auswählen

>>> def sec(x):
	return reduce(lambda a, b: 60 * int(a) + int(b), x.split(':'))

>>> sec('1:34:39')
5679
MfG
HWK

Verfasst: Sonntag 14. September 2008, 13:16
von audax
Das wird es auch noch lange geben, im itertools Modul

Verfasst: Sonntag 14. September 2008, 13:32
von BlackVivi
audax hat geschrieben:Das wird es auch noch lange geben, im itertools Modul
*functools

Verfasst: Sonntag 14. September 2008, 13:59
von audax
Soll mir auch recht sein...