# Date vergleichen



## c-dah (23. Januar 2007)

Guten Tag miteinander..

Ich habe zwei Objekte der Klasse Date, und möchte diese miteinander vergleichen.

der erste Vergleich ist noch einfach...  (Date1 < Date2)
Die weiteren jedoch nicht mehr. Ich möchte vergleichen, wie weit sich die Datumswerte der Objekte unterscheiden.
Konkret:  ich möchte abfragen, ob Date2 mehr als 3 Stunden später ist als Date1, und ob Date2 weniger als 3 Tage später ist als Date1....

Ich hoffe, ihr könnt mir helfen, oder wenigstens in die richtige Richtung schubsen...;-) 


gruss
c-dah


----------



## matdacat (24. Januar 2007)

Hallo!

Hier gibts was dazu, allerdings unter Verwendung der Klasse Calendar.


----------



## Ze-us (24. Januar 2007)

hi!!

Mögliche Lösung:

if ((cDatum.compareTo(d1)>=0 )&& (cDatum.compareTo(d2)<=0)) {}

Erklärung:

Dies hier ist nicht die exakte Lösung für dein Prob allerdings ein sehr guter hinweis. So funktionierts: Die oben geschriebene Zeile hat 3 datums angaben. Es soll überprüft werden ob cDatum zwischen d1 und d2 liegt. Also wird im ersten teil der Bedingung wird cDatum mit d1 verglichen. Ist cDatum größer oder gleich d1? und im 2ten teil ist cDatum kleiner oder gleich d2. Ich hoffe ich konnte dir weiter helfen!

MFG

Ze-us


----------



## matdacat (24. Januar 2007)

Berechne die Differenz unter Verwendung von getTime.

Folgende Methode berechnet die Differenz zweier Dates in Stunden (getTime liefert Millisekunden, deshalb die Divion durch 1000 und 60 und nochmals 60):


```
public float getDifference(Date d1, Date d2) {
  return (d1.getTime()-d2.getTime())/3600000;
}
```

Das Vorzeichen des Ergebnisses liefert die Reihenfolge der Daten.


----------



## Thomas Darimont (24. Januar 2007)

Hallo,

also für Datumsberechnungen aller Art empfehle ich Joda Time:
http://www.tutorials.de/forum/java/252728-datumsberechnungen.html?highlight=GregorianCalendar

Ansonsten würde ich hier mit GregorianCalendar .add(Calendar.Hour, 3) 
GregorianCalendar.after(...) und GregorianCalendar.add(Calendar.Day,-3)... GregorianCalendar.before(...) arbeiten...

Gruß Tom


----------



## c-dah (24. Januar 2007)

Danke für die vielen Antworten!
werde gleich mal alle ausprobieren!


----------



## c-dah (26. Januar 2007)

Habe die Version von matdacat genommen. Die schien mir am einfachsten!
Danke aber trotzdem auch für die vielen anderen Ideen!

Gruss
c-dah


----------

