# Uhrzeit vergleichen



## ich_wills_wissen (27. Feb 2006)

Hallo zusammen,

wie vergleiche ich 2 Uhrzeiten, die ich als String bekomme ?

z.B.:  "08:10" und "18:30"

Ich muss nur irgendwie feststellen ob die zweite Uhrzeit vor der ersten liegt oder nicht...   ???:L 


Gruß,

ich_wills_wissen   :###


----------



## SamHotte (27. Feb 2006)

Umweg über GregorianCalendar oder selbst eine Subtraktion schreiben. Das Problem wird aber in jedem Fall sein: ist 0:05 vor oder nach 23:55?


----------



## ich_wills_wissen (27. Feb 2006)

Sowas hatte ich mir schon fast gedacht... 
ich hab jetzt einfach ne ganz faule Lösung gefunden:

die uhrzeiten welche verglichen werden, werden vom User aus einer Liste selektiert.
Joah und jetzt hol ich mir nicht den selektierten Eintrag als String und versuch die irgendwie
zu vergleichen sondern ich vergleiche einfach die Indizes (beide Listen starten mit dem gleichen Wert).

Das ist sogar resourcenschonender als da irgendwelchen umständlichen Objekte zu erzeugen..  :bae:  :lol: 


Danke für die Antwort und Gruß,


ich_wills_wissen


----------



## L-ectron-X (27. Feb 2006)

Du kannst das sauber machen, in dem du das Interface Comparable implementierst, Date-Objekte erzeugst und die Methode compareTo() überschreibst.


----------



## Guest (28. Feb 2006)

Hallo zusammen !

Hab mich zu früh gefreut, an anderer Stelle muss ich auch 2 Zeiten (Strings) vergleichen und 
da funktioniert mein Workarround von oben nicht.. 

Das Interface Comparable (danke für den Tip !) habe ich mir mal angeguckt, kannte es bisher 
noch nicht. Ich muss aber sagen, das mir das gerade irgendwie zu hoch ist (ich probiers nach nem Kaffee
nochmal..)

Gruß,

ich_wills_wissen


----------



## ich_wills_wissen (28. Feb 2006)

och nöö... schonwieder anmelden vergessen.. sorry


----------



## L-ectron-X (28. Feb 2006)

Oder was auch geht:
In der Klasse Date gibts bereits eine fertig implementierte compareTo()-Methode.
Um nun zwei Daten zu vergleichen genügt:

```
int result = date1.compareTo(date2);
```
Ist das der Methode übergebene Datum größer, gibt diese Anweisung den Wert 1 zurück.
Ist es kleiner gibt sie den Wert -1 zurück.
Sind die Daten gleich (bis auf die Millisekunde) gibt sie 0 zurück.


----------



## ich_wills_wissen (1. Mrz 2006)

Jau super, genau was ich gesucht habe !

Danke !


----------

