In Java , während wir uns damit befassen Datum Und Zeit , manchmal müssen wir es Termine vergleichen . Der Vergleich von Daten in Java ist nicht dasselbe wie der Vergleich zweier Zahlen. Es ist also eine etwas knifflige Aufgabe Vergleichen Sie zwei Daten in Java . Wir müssen dazu keine Logik implementieren Termine vergleichen . Um diese Aufgabe zu erleichtern Java bietet CompareTo(), Before(), After(), Und gleich() Methode. In diesem Abschnitt werden wir lernen wie man zwei Daten in Java vergleicht .
In Java gibt es vier Klassen, die Methoden zum Vergleichen zweier Daten bereitstellen.
- Benutzen vergleichen mit() Methode
- Benutzen Datum Klasse
- Benutzen Kalender Klasse
- Benutzen Lokales Datum Klasse
Verwenden der Methode Date.compareTo()
Java Date-Klasse bietet verschiedene Methoden in Bezug auf Uhrzeit und Datum. Es ist eine Klasse vonjava.utilPaket. Die Klasse implementiert die Schnittstellen Serializable, Cloneable und Comparable.
Für den Vergleich zweier Daten sorgt die Klasse vergleichen mit() Methode . Es vergleicht die Bestelldaten. Es analysiert ein (zu vergleichendes) Datum als Parameter. Es wirft NullPointerException wenn das Argument Datum null ist.
Syntax:
public int compareTo(Date anotherDate)
Es gibt ganzzahlige Werte zurück:
Erinnern: Wenn Sie in Java mit Datumsangaben arbeiten, vergessen Sie nicht, java.text.SimpleDateFormat, java.text.ParseException,java.util.Datum.
Lassen Sie uns die Methode „compareTo()“ implementieren und zwei Daten vergleichen.
Im folgenden Beispiel haben wir eine Instanz von erstellt SimpleDateFormat Klasse, die es uns ermöglicht, verschiedene Datumsformate zu verwenden. Danach haben wir zwei Variablen genommen Datum1 Und Datum2 vom Typ Datum. Durch die Verwendung der parse() Mit der Methode der SimpleDateFormat-Klasse haben wir die zu vergleichenden Daten analysiert. Die Methode gibt a zurück Datum aus der Zeichenfolge analysiert. Wir haben die Variablen date1 und date2 vom Typ Date in übergeben Format() Methode. Die Methode gibt die formatierte Datums-/Uhrzeitzeichenfolge zurück.
Für den Vergleich der beiden Daten haben wir das verwendet vergleichen mit() Methode. Wenn beide Daten gleich sind, wird gedruckt Beide Termine sind gleich. Wenn Datum1 ist größer als Datum2 , es wird gedruckt Datum 1 liegt nach Datum 2 . Wenn Datum1 ist kleiner als Datum2 , es wird gedruckt Datum 1 liegt nach Datum 2 .
CompareDatesExample1.java
import java.util.Date; import java.text.SimpleDateFormat; import java.text.ParseException; public class CompareDatesExample1 { public static void main(String[] args) throws ParseException { //object of SimpleDateFormat class SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd'); //dates to be compare Date date1 = sdf.parse('2020-07-20'); Date date2 = sdf.parse('2020-06-18'); //prints dates System.out.println('Date 1: ' + sdf.format(date1)); System.out.println('Date 2: ' + sdf.format(date2)); //comparing dates if(date1.compareTo(date2) > 0) { System.out.println('Date 1 comes after Date 2'); } else if(date1.compareTo(date2) <0) 1 { system.out.println('date comes before date 2'); } else if(date1.compareto(date2)="=" 0) system.out.println('both dates are equal'); < pre> <p> <strong>Output:</strong> </p> <pre> Date 1: 2020-07-20 Date 2: 2020-06-18 Date 1 comes after Date 2 </pre> <h2>Using Date Class</h2> <p>Java date class provides before() , after() , and equals() method to compare two dates.</p> <p> <strong>before():</strong> The method check that the date comes before the specified date or not. It parses a parameter of type Date. It returns <strong>true</strong> if and only if the instant of time represented by this Date object is strictly earlier than the instant represented by when, <strong>false</strong> otherwise.</p> <p> <strong>Syntax:</strong> </p> <pre> public boolean before(Date when) </pre> <p>It throws <strong>NullPointerException</strong> if when is null.</p> <p> <strong>after():</strong> The method check that the date comes after the specified date or not. It parses a parameter of type Date. It returns <strong>true</strong> if and only if the instant of time represented by this Date object is strictly later than the instant represented by when, <strong>false</strong> otherwise.</p> <p> <strong>Syntax:</strong> </p> <pre> public boolean after(Date when) </pre> <p>It throws <strong>NullPointerException</strong> if when is null.</p> <p> <strong>equals():</strong> The method checks (compare) the equality of two dates. It overrides the equals() method of the Object class. It returns true if the objects are same, else returns false. Therefore, the Date objects will be equal if and only if the getTime() method returns the same long value for both dates.</p> <p> <strong>Syntax:</strong> </p> <pre> public boolean equals (Object obj) </pre> <p>Let's use the above-explained method in an example and compare two dates with the help of these methods.</p> <p> <strong>CompareDatesExample2.java</strong> </p> <pre> import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; public class CompareDatesExample2 { public static void main(String args[]) throws ParseException { //Creating an object of the SimpleDateFormat class SimpleDateFormat sdfo = new SimpleDateFormat('yyyy-MM-dd'); //dates to be compared Date date1 = sdfo.parse('2019-01-01'); Date date2 = sdfo.parse('2020-01-01'); // Print the dates System.out.println('Date1: ' + sdfo.format(date1)); System.out.println('Date2: ' + sdfo.format(date2)); //Compare the two dates if (date1.after(date2)) { //if date1>date2, prints the following statement System.out.println('Date1 comes after Date2'); } else if (date1.before(date2)) { //if date1<date2, prints the following statement system.out.println('date1 comes before date2'); } else if (date1.equals(date2)) { date1="date2" system.out.println('both dates are equal'); < pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2019-01-01 Date2: 2020-01-01 Date1 comes before Date2 </pre> <h2>Using Calendar Class</h2> <p>Like the Java Date class, the <a href="/java-calendar-class"> <strong>Calendar</strong> class</a> also provides before() , after() , and equals() methods . All three methods have the same signature, as we have explained above.</p> <p>Let's use the Calendar class and compare two dates with the help of after(), before(), and equals() method.</p> <p>In the following example, we have used the same method used in the previous example, except the <strong>getInstance()</strong> and <strong>setTime()</strong> methods.</p> <p> <strong>getInstance():</strong> It is a static method of the Calendar. It returns a Calendar using the default time zone and locale.</p> <p> <strong>Syntax:</strong> </p> <pre> public static Calendar getInstance() </pre> <p> <strong>setTime():</strong> The method sets the calendar time according to the specified date. It parses a parameter of type Date.</p> <p> <strong>Syntax:</strong> </p> <pre> public final void setTime(Date date) </pre> <p> <strong>CompareDatesExample3.java</strong> </p> <pre> import java.util.Date; import java.util.Calendar; import java.text.ParseException; import java.text.SimpleDateFormat; public class CompareDatesExample3 { public static void main(String args[]) throws ParseException { // Create SimpleDateFormat object SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd'); //dates to be compare Date date1 = sdf.parse('2020-12-01'); Date date2 = sdf.parse('2020-12-01'); // Prints the dates System.out.println('Date1: ' + sdf.format(date1)); System.out.println('Date2: ' + sdf.format(date2)); //invoking getInstance() method Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal1.setTime(date1); cal2.setTime(date2); //compare two dates if (cal1.after(cal2)) { //if date1>date2 System.out.println('Date1 comes after Date2'); } else if (cal1.before(cal2)) { //if date1<date2 system.out.println('date1 comes before date2'); } else if (cal1.equals(cal2)) { date1="date2" system.out.println('both dates are equal'); < pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-12-01 Date2: 2020-12-01 Both dates are equal </pre> <h2>Using LocalDate Class</h2> <p>Java provides another <strong>LocalDate</strong> class to compare two LocalDate, LocalTime, and LocalDateTime. It is the member of <span>java.time</span> package. The class provides isBefore(), isAfter(), isEquals(), and compareTo() method to compare dates. These methods works same as the method before(), after(), and equals() of the Date and Calendar class.</p> <p>Let's use the <a href="/java-localdate-class">LocalDate class</a> in an example to compare two dates.</p> <p>In the following example, we have used the following method to compare two dates. All the methods check the dates according to the local-time line.</p> <p> <strong>of():</strong> It is a static method of LocalDate class. It obtains an instance of LocalDate form year, month, and day. It accepts three parameters year, month, and date of type int. It returns a LocalDate with the specified date.</p> <p> <strong>Syntax:</strong> </p> <pre> public static LocalDate of(int year, int month, int dayOfMonth) </pre> <p>where:</p> <p> <strong>year:</strong> must be between MIN_YEAR to MAX_YEAR.</p> <p> <strong>month:</strong> must be between 1 (January) to 12 (December).</p> <p> <strong>datOfMonth:</strong> must be between 1 to 31.</p> <p>It throws DateTimeException if the value of any parameter is out of range.</p> <p> <strong>isBefore():</strong> The method checks the date is before the specified date. It parses a date (to compare) as a parameter. It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate).</strong> </p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isBefore(ChronoLocalDate other) </pre> <p> <strong>isAfter():</strong> The method checks the date is before the specified date. It parses a date (to compare) as a parameter. It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate)</strong> .</p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isAfter(ChronoLocalDate other) </pre> <p> <strong>isEqual():</strong> The method compares the dates are equal or not. If both dates are equal it returns true, false otherwise. It parses a date (to compare) as a parameter.</p> <p>It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate).</strong> </p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isEqual(ChronoLocalDate other) </pre> <p> <strong>CompareDatesExample4.java</strong> </p> <pre> import java.time.LocalDate; public class CompareDatesExample4 { public static void main(String[] args) { // Create LocalDate objects with dates LocalDate date1 = LocalDate.of(2020,9,29); LocalDate date2 = LocalDate.of(2020,12,07); // Print the Dates System.out.println('Date1: ' + date1); System.out.println('Date2: ' + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println('Date1 comes after Date2'); } else if (date1.isBefore(date2)) { System.out.println('Date1 comes before Date2'); } else if (date1.isEqual(date2)) { System.out.println('Both dates are equal'); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2 </pre> <hr></date2></pre></date2,></pre></0)>
Verwenden der Datumsklasse
Die Java-Datumsklasse bietet die Methoden before() , after() und equal() zum Vergleichen zweier Datumsangaben.
Vor(): Die Methode prüft, ob das Datum vor dem angegebenen Datum liegt oder nicht. Es analysiert einen Parameter vom Typ Datum. Es kehrt zurück WAHR genau dann, wenn der durch dieses Date-Objekt dargestellte Zeitpunkt streng vor dem durch when dargestellten Zeitpunkt liegt, FALSCH ansonsten.
Syntax:
public boolean before(Date when)
Es wirft NullPointerException wenn wann null ist.
nach(): Die Methode prüft, ob das Datum nach dem angegebenen Datum liegt oder nicht. Es analysiert einen Parameter vom Typ Datum. Es kehrt zurück WAHR genau dann, wenn der durch dieses Date-Objekt dargestellte Zeitpunkt streng später liegt als der durch when dargestellte Zeitpunkt, FALSCH ansonsten.
Syntax:
public boolean after(Date when)
Es wirft NullPointerException wenn wann null ist.
gleich(): Die Methode prüft (vergleicht) die Gleichheit zweier Datumsangaben. Es überschreibt die Methode equal() der Klasse Object. Es gibt „true“ zurück, wenn die Objekte gleich sind, andernfalls wird „false“ zurückgegeben. Daher sind die Date-Objekte genau dann gleich, wenn die Methode getTime() für beide Datumsangaben denselben langen Wert zurückgibt.
Syntax:
public boolean equals (Object obj)
Lassen Sie uns die oben erläuterte Methode in einem Beispiel verwenden und zwei Daten mit Hilfe dieser Methoden vergleichen.
CompareDatesExample2.java
import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; public class CompareDatesExample2 { public static void main(String args[]) throws ParseException { //Creating an object of the SimpleDateFormat class SimpleDateFormat sdfo = new SimpleDateFormat('yyyy-MM-dd'); //dates to be compared Date date1 = sdfo.parse('2019-01-01'); Date date2 = sdfo.parse('2020-01-01'); // Print the dates System.out.println('Date1: ' + sdfo.format(date1)); System.out.println('Date2: ' + sdfo.format(date2)); //Compare the two dates if (date1.after(date2)) { //if date1>date2, prints the following statement System.out.println('Date1 comes after Date2'); } else if (date1.before(date2)) { //if date1<date2, prints the following statement system.out.println(\'date1 comes before date2\'); } else if (date1.equals(date2)) { date1="date2" system.out.println(\'both dates are equal\'); < pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2019-01-01 Date2: 2020-01-01 Date1 comes before Date2 </pre> <h2>Using Calendar Class</h2> <p>Like the Java Date class, the <a href="/java-calendar-class"> <strong>Calendar</strong> class</a> also provides before() , after() , and equals() methods . All three methods have the same signature, as we have explained above.</p> <p>Let's use the Calendar class and compare two dates with the help of after(), before(), and equals() method.</p> <p>In the following example, we have used the same method used in the previous example, except the <strong>getInstance()</strong> and <strong>setTime()</strong> methods.</p> <p> <strong>getInstance():</strong> It is a static method of the Calendar. It returns a Calendar using the default time zone and locale.</p> <p> <strong>Syntax:</strong> </p> <pre> public static Calendar getInstance() </pre> <p> <strong>setTime():</strong> The method sets the calendar time according to the specified date. It parses a parameter of type Date.</p> <p> <strong>Syntax:</strong> </p> <pre> public final void setTime(Date date) </pre> <p> <strong>CompareDatesExample3.java</strong> </p> <pre> import java.util.Date; import java.util.Calendar; import java.text.ParseException; import java.text.SimpleDateFormat; public class CompareDatesExample3 { public static void main(String args[]) throws ParseException { // Create SimpleDateFormat object SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd'); //dates to be compare Date date1 = sdf.parse('2020-12-01'); Date date2 = sdf.parse('2020-12-01'); // Prints the dates System.out.println('Date1: ' + sdf.format(date1)); System.out.println('Date2: ' + sdf.format(date2)); //invoking getInstance() method Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal1.setTime(date1); cal2.setTime(date2); //compare two dates if (cal1.after(cal2)) { //if date1>date2 System.out.println('Date1 comes after Date2'); } else if (cal1.before(cal2)) { //if date1<date2 system.out.println(\'date1 comes before date2\'); } else if (cal1.equals(cal2)) { date1="date2" system.out.println(\'both dates are equal\'); < pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-12-01 Date2: 2020-12-01 Both dates are equal </pre> <h2>Using LocalDate Class</h2> <p>Java provides another <strong>LocalDate</strong> class to compare two LocalDate, LocalTime, and LocalDateTime. It is the member of <span>java.time</span> package. The class provides isBefore(), isAfter(), isEquals(), and compareTo() method to compare dates. These methods works same as the method before(), after(), and equals() of the Date and Calendar class.</p> <p>Let's use the <a href="/java-localdate-class">LocalDate class</a> in an example to compare two dates.</p> <p>In the following example, we have used the following method to compare two dates. All the methods check the dates according to the local-time line.</p> <p> <strong>of():</strong> It is a static method of LocalDate class. It obtains an instance of LocalDate form year, month, and day. It accepts three parameters year, month, and date of type int. It returns a LocalDate with the specified date.</p> <p> <strong>Syntax:</strong> </p> <pre> public static LocalDate of(int year, int month, int dayOfMonth) </pre> <p>where:</p> <p> <strong>year:</strong> must be between MIN_YEAR to MAX_YEAR.</p> <p> <strong>month:</strong> must be between 1 (January) to 12 (December).</p> <p> <strong>datOfMonth:</strong> must be between 1 to 31.</p> <p>It throws DateTimeException if the value of any parameter is out of range.</p> <p> <strong>isBefore():</strong> The method checks the date is before the specified date. It parses a date (to compare) as a parameter. It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate).</strong> </p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isBefore(ChronoLocalDate other) </pre> <p> <strong>isAfter():</strong> The method checks the date is before the specified date. It parses a date (to compare) as a parameter. It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate)</strong> .</p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isAfter(ChronoLocalDate other) </pre> <p> <strong>isEqual():</strong> The method compares the dates are equal or not. If both dates are equal it returns true, false otherwise. It parses a date (to compare) as a parameter.</p> <p>It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate).</strong> </p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isEqual(ChronoLocalDate other) </pre> <p> <strong>CompareDatesExample4.java</strong> </p> <pre> import java.time.LocalDate; public class CompareDatesExample4 { public static void main(String[] args) { // Create LocalDate objects with dates LocalDate date1 = LocalDate.of(2020,9,29); LocalDate date2 = LocalDate.of(2020,12,07); // Print the Dates System.out.println('Date1: ' + date1); System.out.println('Date2: ' + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println('Date1 comes after Date2'); } else if (date1.isBefore(date2)) { System.out.println('Date1 comes before Date2'); } else if (date1.isEqual(date2)) { System.out.println('Both dates are equal'); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2 </pre> <hr></date2></pre></date2,>
Verwenden der Kalenderklasse
Wie die Java Date-Klasse auch die Kalender Klasse stellt außerdem die Methoden before() , after() und equal() bereit. Alle drei Methoden haben die gleiche Signatur, wie wir oben erklärt haben.
Lassen Sie uns die Calendar-Klasse verwenden und zwei Daten mit Hilfe der Methoden after(), before() und equal() vergleichen.
Im folgenden Beispiel haben wir dieselbe Methode wie im vorherigen Beispiel verwendet, mit Ausnahme der bekomme Instanz() Und Zeit einstellen() Methoden.
bekomme Instanz(): Es handelt sich um eine statische Methode des Kalenders. Es gibt einen Kalender mit der Standardzeitzone und dem Standardgebietsschema zurück.
Syntax:
public static Calendar getInstance()
Zeit einstellen(): Die Methode stellt die Kalenderzeit entsprechend dem angegebenen Datum ein. Es analysiert einen Parameter vom Typ Datum.
Syntax:
public final void setTime(Date date)
CompareDatesExample3.java
import java.util.Date; import java.util.Calendar; import java.text.ParseException; import java.text.SimpleDateFormat; public class CompareDatesExample3 { public static void main(String args[]) throws ParseException { // Create SimpleDateFormat object SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd'); //dates to be compare Date date1 = sdf.parse('2020-12-01'); Date date2 = sdf.parse('2020-12-01'); // Prints the dates System.out.println('Date1: ' + sdf.format(date1)); System.out.println('Date2: ' + sdf.format(date2)); //invoking getInstance() method Calendar cal1 = Calendar.getInstance(); Calendar cal2 = Calendar.getInstance(); cal1.setTime(date1); cal2.setTime(date2); //compare two dates if (cal1.after(cal2)) { //if date1>date2 System.out.println('Date1 comes after Date2'); } else if (cal1.before(cal2)) { //if date1<date2 system.out.println(\'date1 comes before date2\'); } else if (cal1.equals(cal2)) { date1="date2" system.out.println(\'both dates are equal\'); < pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-12-01 Date2: 2020-12-01 Both dates are equal </pre> <h2>Using LocalDate Class</h2> <p>Java provides another <strong>LocalDate</strong> class to compare two LocalDate, LocalTime, and LocalDateTime. It is the member of <span>java.time</span> package. The class provides isBefore(), isAfter(), isEquals(), and compareTo() method to compare dates. These methods works same as the method before(), after(), and equals() of the Date and Calendar class.</p> <p>Let's use the <a href="/java-localdate-class">LocalDate class</a> in an example to compare two dates.</p> <p>In the following example, we have used the following method to compare two dates. All the methods check the dates according to the local-time line.</p> <p> <strong>of():</strong> It is a static method of LocalDate class. It obtains an instance of LocalDate form year, month, and day. It accepts three parameters year, month, and date of type int. It returns a LocalDate with the specified date.</p> <p> <strong>Syntax:</strong> </p> <pre> public static LocalDate of(int year, int month, int dayOfMonth) </pre> <p>where:</p> <p> <strong>year:</strong> must be between MIN_YEAR to MAX_YEAR.</p> <p> <strong>month:</strong> must be between 1 (January) to 12 (December).</p> <p> <strong>datOfMonth:</strong> must be between 1 to 31.</p> <p>It throws DateTimeException if the value of any parameter is out of range.</p> <p> <strong>isBefore():</strong> The method checks the date is before the specified date. It parses a date (to compare) as a parameter. It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate).</strong> </p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isBefore(ChronoLocalDate other) </pre> <p> <strong>isAfter():</strong> The method checks the date is before the specified date. It parses a date (to compare) as a parameter. It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate)</strong> .</p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isAfter(ChronoLocalDate other) </pre> <p> <strong>isEqual():</strong> The method compares the dates are equal or not. If both dates are equal it returns true, false otherwise. It parses a date (to compare) as a parameter.</p> <p>It returns true if and only if the date is before the specified date. Its comparison approach is different from <strong>compareTo(ChronoLocalDate).</strong> </p> <p> <strong>Syntax:</strong> </p> <pre> public boolean isEqual(ChronoLocalDate other) </pre> <p> <strong>CompareDatesExample4.java</strong> </p> <pre> import java.time.LocalDate; public class CompareDatesExample4 { public static void main(String[] args) { // Create LocalDate objects with dates LocalDate date1 = LocalDate.of(2020,9,29); LocalDate date2 = LocalDate.of(2020,12,07); // Print the Dates System.out.println('Date1: ' + date1); System.out.println('Date2: ' + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println('Date1 comes after Date2'); } else if (date1.isBefore(date2)) { System.out.println('Date1 comes before Date2'); } else if (date1.isEqual(date2)) { System.out.println('Both dates are equal'); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2 </pre> <hr></date2>
Verwenden der LocalDate-Klasse
Java bietet eine andere Lokales Datum Klasse zum Vergleichen zweier LocalDate-, LocalTime- und LocalDateTime-Klassen. Es ist Mitglied vonjava.timePaket. Die Klasse stellt die Methoden isBefore(), isAfter(), isEquals() und CompareTo() zum Vergleichen von Daten bereit. Diese Methoden funktionieren genauso wie die Methoden before(), after() und equal() der Date- und Calendar-Klasse.
Benutzen wir das LocalDate-Klasse in einem Beispiel, um zwei Daten zu vergleichen.
Im folgenden Beispiel haben wir die folgende Methode verwendet, um zwei Daten zu vergleichen. Alle Methoden prüfen die Daten anhand der Ortszeitlinie.
von(): Es ist eine statische Methode der LocalDate-Klasse. Es erhält eine Instanz von LocalDate aus Jahr, Monat und Tag. Es akzeptiert drei Parameter Jahr, Monat und Datum vom Typ int. Es gibt ein LocalDate mit dem angegebenen Datum zurück.
Syntax:
public static LocalDate of(int year, int month, int dayOfMonth)
Wo:
Jahr: muss zwischen MIN_YEAR und MAX_YEAR liegen.
Monat: muss zwischen dem 1. (Januar) und dem 12. (Dezember) liegen.
datOfMonth: muss zwischen 1 und 31 liegen.
Es löst eine DateTimeException aus, wenn der Wert eines Parameters außerhalb des gültigen Bereichs liegt.
isBefore(): Die Methode prüft, ob das Datum vor dem angegebenen Datum liegt. Es analysiert ein Datum (zu vergleichen) als Parameter. Es gibt genau dann „true“ zurück, wenn das Datum vor dem angegebenen Datum liegt. Sein Vergleichsansatz unterscheidet sich von CompareTo(ChronoLocalDate).
Wenn sonst bash
Syntax:
public boolean isBefore(ChronoLocalDate other)
isAfter(): Die Methode prüft, ob das Datum vor dem angegebenen Datum liegt. Es analysiert ein Datum (zu vergleichen) als Parameter. Es gibt genau dann „true“ zurück, wenn das Datum vor dem angegebenen Datum liegt. Sein Vergleichsansatz unterscheidet sich von CompareTo(ChronoLocalDate) .
Syntax:
public boolean isAfter(ChronoLocalDate other)
ist gleich(): Die Methode vergleicht, ob die Daten gleich sind oder nicht. Wenn beide Daten gleich sind, wird „true“ zurückgegeben, andernfalls „false“. Es analysiert ein Datum (zu vergleichen) als Parameter.
Es gibt genau dann „true“ zurück, wenn das Datum vor dem angegebenen Datum liegt. Sein Vergleichsansatz unterscheidet sich von CompareTo(ChronoLocalDate).
Syntax:
public boolean isEqual(ChronoLocalDate other)
CompareDatesExample4.java
import java.time.LocalDate; public class CompareDatesExample4 { public static void main(String[] args) { // Create LocalDate objects with dates LocalDate date1 = LocalDate.of(2020,9,29); LocalDate date2 = LocalDate.of(2020,12,07); // Print the Dates System.out.println('Date1: ' + date1); System.out.println('Date2: ' + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println('Date1 comes after Date2'); } else if (date1.isBefore(date2)) { System.out.println('Date1 comes before Date2'); } else if (date1.isEqual(date2)) { System.out.println('Both dates are equal'); } } }
Ausgabe:
Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2
0)>