Wie man zwei Daten in Java vergleicht
-
before()
Methode zum Vergleich zweier Daten in Java -
after()
Methode zum Vergleich zweier Datumsangaben in Java -
equals()
Methode zum Vergleich zweier Datumsangaben in Java -
compareTo()
Methode, um zwei Daten in Java zu vergleichen
In diesem Tutorial lernen wir mehrere Methoden zum Vergleich von Datumsangaben
in Java
. Um erwünschte Ergebnisse zu erzielen, benötigen wir bestimmte Methoden, d.h. before()
, after()
, equals()
und compareTo()
.
before()
Methode zum Vergleich zweier Daten in Java
Die erste Methode ist die before()
Methode in der Java Date
Klasse, die einen Vergleich zwischen dem Date
Objekt und dem gegebenen Date
Zeitpunkt durchführt. Sie gibt “wahr” zurück, wenn das Date
-Objekt früher kommt als das angegebene Date
-Objekt.
Betrachten Sie den folgenden Code:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = dateFormat.parse("2019-09-16");
Date date2 = dateFormat.parse("2020-01-25");
System.out.println("Date-1: " + dateFormat.format(date1));
System.out.println("Date-2: " + dateFormat.format(date2));
if (date1.before(date2)) {
System.out.println("Date-1 is before Date-2");
}
} catch (ParseException ex) {
}
}
}
Ausgabe:
Date-1: 2019-09-16
Date-2: 2020-01-25
Date-1 is before Date-2
after()
Methode zum Vergleich zweier Datumsangaben in Java
Ein anderer Ansatz, um diesen Vergleich zu erreichen, ist die Verwendung der after()
-Methode in der Java-Klasse Date
. Diese Methode ist der obigen before
-Methode entgegengesetzt und gibt true
zurück, wenn das Date
-Objekt später kommt als das angegebene Date
-Objekt.
Betrachten Sie den folgenden Code:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdformat.parse("2020-01-25");
Date date2 = sdformat.parse("2019-09-16");
System.out.println("Date-1: " + sdformat.format(date1));
System.out.println("Date-2: " + sdformat.format(date2));
if (date1.after(date2)) {
System.out.println("Date-1 is after Date-2");
}
} catch (ParseException ex) {
}
}
}
Ausgabe:
Date-1: 2020-01-25
Date-2: 2019-09-16
Date-1 is after Date-2
equals()
Methode zum Vergleich zweier Datumsangaben in Java
Ein anderer Ansatz ist die Verwendung der Methode equals()
in der Java-Klasse Date
. Sie vergleicht zwei Datumsangaben und gibt true
zurück, wenn sie gleich sind.
Betrachten Sie den folgenden Code:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-dd-mm");
Date date1 = sdformat.parse("2020-01-25");
Date date2 = sdformat.parse("2020-01-25");
System.out.println("Date-1: " + sdformat.format(date1));
System.out.println("Date-2: " + sdformat.format(date2));
if (date1.equals(date2)) {
System.out.println("Date-1 is same as Date-2");
}
} catch (ParseException ex) {
}
}
}
Ausgabe:
Date-1: 2020-01-25
Date-2: 2020-01-25
Date-1 is same as Date-2
compareTo()
Methode, um zwei Daten in Java zu vergleichen
Der letzte Ansatz ist die Methode compareTo()
in der Java Klasse Date
. Sie vergleicht zwei Datumsangaben und gibt auf der Grundlage des Vergleichsergebnisses unterschiedliche Werte zurück.
- Sie gibt
0
zurück, wenn das Argument date gleich demDate
-Objekt ist. - Es gibt einen positiven Wert zurück, wenn das
Date
-Objekt nach dem Argument date liegt. - Es gibt ein negatives Ergebnis zurück, wenn das
Date
-Objekt vor dem Argument date liegt.
Beachten Sie den folgenden Code:
// java 1.8
package simpletesting;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
try {
SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdformat.parse("2020-01-25");
Date date2 = sdformat.parse("2020-01-23");
System.out.println("Date-1: " + sdformat.format(date1));
System.out.println("Date-2: " + sdformat.format(date2));
if (date1.compareTo(date2) > 0) {
System.out.println("Date-1 is after Date-2");
} else if (date1.compareTo(date2) < 0) {
System.out.println("Date-1 is before Date-2");
} else if (date1.compareTo(date2) == 0) {
System.out.println("Date-1 is same as Date-2");
}
} catch (ParseException ex) {
}
}
}
Ausgabe:
Date-1: 2020-01-25
Date-2: 2020-01-23
Date-1 is after Date-2