Zum Inhalt

Datumswerte mit Java vergleichen

Nach einigen "Empfehlungen", Datumswerte in Strings umzuwandeln und dann mit Stringoperationen zu vergleichen, habe ich eine wesentlich einfachere Möglichkeit mit ".compareTo" für Date-Werte gefunden.

Zum Hintergrund: Ich setze eine Variable "validUntil" vom Typ Date, nachdem eine bestimmte Bedinungen eingetreten ist, indem ich auf den aktuellen Zeitpunkt z.B. 10 Minuten draufrechne. Danach überprüfe ich in einem Thread, ob der Zeitpunkt "validUntil" schon eingetreten bzw. vorbei ist.

Die Variable "i" enthält

  • < 0 wenn der Zeitpunkt noch nicht vorrüber ist,
  • = 0 wenn der Zeitpunkt gerade aktuell ist,
  • > 0 wenn der Zeitpunkt bereits vorrüber ist.

public boolean isStillValid() {
// Setting "now".
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
Date now = cal.getTime();
int i = now.compareTo(validUntil);
if (i > 0) {
// TimeOut has expired.
return false;
} else {
// TimeOut is still valid.
return true;
}


Published inJava

Schreibe den ersten Kommentar

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert