Uhrzeiten vergleichen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
BasterTWO
User
Beiträge: 75
Registriert: Donnerstag 25. Oktober 2007, 20:03

Uhrzeiten vergleichen

Beitragvon BasterTWO » Sonntag 14. September 2008, 10:32

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
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Sonntag 14. September 2008, 11:00

Uhrzeiten in (date)time Objekte konvertieren und dann das timedelta bilden.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Re: Uhrzeiten vergleichen

Beitragvon numerix » Sonntag 14. September 2008, 11:24

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
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Beitragvon HWK » Sonntag 14. September 2008, 11:54

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
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Sonntag 14. September 2008, 13:16

Das wird es auch noch lange geben, im itertools Modul
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Sonntag 14. September 2008, 13:32

audax hat geschrieben:Das wird es auch noch lange geben, im itertools Modul
*functools
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Sonntag 14. September 2008, 13:59

Soll mir auch recht sein...

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]