Vergleichen sie daten in java

Es gibt mehrere Möglichkeiten, Daten in Java zu vergleichen. Intern wird ein Datum als (langer) Zeitpunkt dargestellt – die Anzahl der Millisekunden, die seit dem 1. Januar 1970 verstrichen sind. In Java ist date das Date-Objekt, was bedeutet, dass es mehrere Methoden (Methoden) zum Vergleichen von Datumsangaben enthält. Jede Methode zum Vergleichen zweier Daten vergleicht grundsätzlich die verstrichene Zeit beider Daten.

Schritte

Methode 1 von 4: Verwenden des Befehls `compareTo`

Bildtitel 4301351 1
1. Verwenden Sie vergleichenTo. Datum implementiert Vergleichbar
Bildtitel 4301351 2
2. Erstellen Sie die Datumsobjekte. Sie müssen jedes Datumsobjekt erstellen, bevor Sie sie vergleichen können. Eine Möglichkeit, dies zu tun, besteht darin, die SimpleDateFormat-Klasse anzuwenden. Ermöglicht die einfache Eingabe von Datumsangaben in Datumsobjekte.
SimpleDateFormat sdf = new SimpleDateFormat(`yyyy-MM-dd`); //Zur Deklaration von Werten in neuen Datumsobjekten. Verwenden Sie dasselbe Datumsformat beim Erstellen von Datumsangaben Datedatum1 = sdf.parse(`1995-02-23`); //date1 ist der 23. Februar 1995 Datum date2 = sdf.parse(`2001-10-31`); //date2 ist der 31. Oktober 2001 Date date3 = sdf.parse(`1995-02-23`); //date3 ist der 23. Februar 1995
Bildtitel 4301351 3
3. Vergleichen Sie die Datumsobjekte. Im Folgenden wird jeder Fall dargestellt – kleiner als, gleich und größer als.
Datum1.vergleichenBis(Datum2); //Datum1 < Datum2, weniger als 0 Datum2.vergleichenBis(Datum1); //Datum2 > date1, gibt größer als 0 zurück date1.vergleichenBis(Datum3); //date1 = date3, gibt 0 zurück

Methode 2 von 4: Verwenden der Methoden „gleich, nach und vor“

Bildtitel 4301351 4
1. Verwenden Sie gleich, danach und davor. Datumsangaben können mit den Gleichheits-, Nach- und Vorher-Methoden verglichen werden. Wenn zwei Datumsangaben dieselbe Zeit anzeigen, gibt die equals-Methode `true` zurück. Die Beispiele verwenden die zuvor erstellten Daten über die Methode CompareTo.
Bildtitel 4301351 5
2. Vergleichen Sie mit der Vorher-Methode. Der folgende Code zeigt einen Fall von wahr und falsch. Wenn Datum1 vor Datum2 liegt, ist das Ergebnis wahr. Wenn nicht, gibt vor false zurück.
System.aus.drucken (Datum1.vor(Datum2)); // wahres System drucken.aus.drucken (Datum2.vor(Datum2)); // falsch drucken
Bildtitel 4301351 6
3. Vergleichen Sie dies mit der Nach-Methode. Der folgende Code zeigt einen Fall von wahr und falsch. Wenn date2 später als date1 ist, dann gibt after true zurück. Wenn nicht, gibt after false zurück.
System.aus.drucken (Datum2.after(date1)); // true System drucken.aus.drucken (Datum1.nach (Datum2)); // falsch drucken
Bildtitel 4301351 7
4. Vergleichen Sie mit der Gleichheitsmethode. Der folgende Code zeigt einen Fall von wahr und falsch. Wenn die Daten gleich sind, gibt equals true zurück. Wenn nicht, gibt equals false zurück.
System.aus.drucken (Datum1.gleich (Datum3)); // true ausgeben System.aus.drucken (Datum1.gleich (Datum2)); // falsch drucken

Methode 3 von 4: Verwenden der Kalenderklasse

Bildtitel 4301351 8
1. Verwenden Sie die Kalenderklasse. Die Calendar-Klasse bietet außerdem die Methoden CompareTo, equals, after und before, die genauso funktionieren wie oben für die Date-Klasse beschrieben. Wenn die Datumsdaten in einem Kalender gespeichert sind, müssen Sie also kein "Datum" extrahieren, nur um zwei Daten zu vergleichen.
Bildtitel 4301351 9
2. Instanz von Kalender erstellen. Um die Kalendermethoden zu verwenden, benötigen Sie einige Kalenderinstanzen. Glücklicherweise können Sie die Zeit verwenden, die von den Datumsinstanzen generiert wurde.
Kalenderaufruf1 = Kalender.bekomme Instanz(); // deklariert cal1 Kalender cal2 = Kalender.bekomme Instanz(); // deklariert cal2 Kalender cal3 = Kalender.bekomme Instanz(); // deklariert cal3 cal1.setTime(date1); // wendet Datum auf cal1 cal2 an.setTime(Datum2); cal3.setTime(date3);
Bildtitel 4301351 10
3. Vergleichen Sie cal1 und cal2 mit vorher. Der folgende Code gibt true zurück, da cal1 vor cal2 liegt.
System.aus.drucken (cal1.vor(cal2)); // true ausgeben
Bildtitel 4301351 11
4. Vergleichen Sie cal1 und cal2 mit after. Der folgende Code gibt false zurück, da cal1 vor cal2 liegt.
System.aus.drucken (cal1.nach(cal2)); // falsch drucken
Bildtitel 4301351 12
5. Vergleiche cal1 und cal2 mit equals. Der folgende Code zeigt ein Beispiel für wahr und falsch. Die Bedingung hängt von den verglichenen Kalenderinstanzen ab. Der folgende Code gibt `true` und dann `false` in der nächsten Zeile aus.
System.aus.println(cal1.gleich(cal3)); // true ausgeben: cal1 == cal3 System.aus.drucken (cal1.gleich(cal2)); // false ausgeben: call1 != cal2

Methode 4 von 4: Verwenden der Methode `getTime`

Bildtitel 4301351 13
1. GetTime verwenden. Es ist auch möglich, zwei Zeitpunkte direkt zu vergleichen, obwohl jeder der vorstehenden Ansätze wahrscheinlich besser lesbare Ergebnisse liefert und daher bevorzugt wird. Dies ist ein Vergleich zweier primitiver Datentypen, kann also mit `<`, `>` und `==`.
Bildtitel 4301351 14
2. Erstellen Sie die "langen" Zeitobjekte. Bevor Sie Datumsangaben vergleichen können, müssen Sie aus den Daten der zuvor erstellten Datumsobjekte lange Ganzzahlen erstellen. Glücklicherweise erledigt die Methode getTime() die meiste Arbeit für Sie.
lange Zeit1 = getTime(date1); // deklariert primitive time1 von date1 long time2 = getTime(date2); //deklariert primitive time2 von date2
Bildtitel 4301351 15
3. Verwenden Sie eine `kleiner als`-Gleichung. Verwenden Sie ein "kleiner als"-Symbol (<) um diese beiden ganzzahligen Werte zu vergleichen. Da time1 kleiner als time2 ist, sollte die erste Nachricht auf dem Bildschirm gedruckt werden. Die else-Anweisung ist für die korrekte Syntax enthalten.
wenn (Zeit1 < Zeit2){ System.aus.println(`Datum1 ist früher als Datum2`); // drucken weil time1 < time2 } else{ System.aus.println(`Datum1 ist später als oder gleich Datum2`); }
Bildtitel 4301351 16
4. Machen Sie einen "größer als"-Vergleich. Verwenden Sie das Größer-als-Symbol (>) um diese beiden ganzen Zahlen zu vergleichen. Da time1 größer als time2 ist, wird die erste Nachricht auf dem Bildschirm gedruckt. Die else-Anweisung ist für die korrekte Syntax enthalten.
wenn (Zeit2 > Zeit1){ System.aus.println(`Datum2 kommt nach Datum1`); // drucke weil time2 > time1} else{ System.aus.println(`Datum2 ist früher als oder gleich Datum1`); }
Bildtitel 4301351 17
5. Machen Sie einen "gleich"-Vergleich. Verwenden Sie das Symbol (==), um diese beiden ganzen Zahlen zu vergleichen. Da time1 gleich time3 ist, sollte die erste Nachricht gedruckt werden. Wenn das Programm zur else-Anweisung gelangt, bedeutet dies, dass die Zeiten nicht gleich sind.
if(time1 == time2){ System.aus.println(`Die Daten stimmen überein`); } sonst{ System.aus.println(`Die Daten sind nicht gleich`); // drucken weil time1 != Zeit2 }

Оцените, пожалуйста статью