logo

Java'da Tarihler Nasıl Karşılaştırılır

İçinde Java biz uğraşırken tarih Ve zaman bazen ihtiyacımız var tarihleri ​​karşılaştır . Java'da tarihlerin karşılaştırılması iki sayının karşılaştırılması ile aynı şey değildir. Yani biraz zorlu bir iş Java'da iki tarihi karşılaştırın . Herhangi bir mantık uygulamamıza gerek yok tarihleri ​​karşılaştır . Bu görevi kolaylaştırmak için Java sağlar CompareTo(), önce(), sonra(), Ve eşittir() yöntem. Bu bölümde öğreneceğiz Java'da iki tarihin nasıl karşılaştırılacağı .

Java'da iki tarihi karşılaştırmaya yönelik yöntemler sağlayan dört sınıf vardır.

  • Kullanma karşılaştırmak() Yöntem
  • Kullanma Tarih Sınıf
  • Kullanma Takvim Sınıf
  • Kullanma YerelTarih Sınıf

Date.compareTo() Yöntemini Kullanma

Java Tarih sınıfı saat ve tarihlerle ilgili farklı yöntemler sunar. Bu bir sınıftırjava.utilpaket. Sınıf, Serileştirilebilir, Klonlanabilir ve Karşılaştırılabilir arayüzleri uygular.

İki tarihin karşılaştırılması için sınıf şunları sağlar: karşılaştırmak() yöntem . Sipariş için Tarihleri ​​karşılaştırır. Bir tarihi (karşılaştırılacak) parametre olarak ayrıştırır. Fırlatıyor NullPointerException argüman tarihi boşsa.

Sözdizimi:

 public int compareTo(Date anotherDate) 

Tamsayı değerleri döndürür:

css'de gezinmek
    0:her iki tarih de eşitse.0'dan küçük bir değer:tarih argüman tarihinden önceyse.0'dan büyük bir değer:tarih argüman tarihinden sonraysa.

Hatırlamak: Java'da tarihle uğraşıyorsanız, Java.text.SimpleDateFormat, Java.text.ParseException'ı içe aktarmayı unutmayın.java.util.Date.

CompareTo() yöntemini uygulayalım ve iki tarihi karşılaştıralım.

Aşağıdaki örnekte bir örneğini oluşturduk. Basit Tarih Formatı Farklı tarih formatlarını almamıza izin veren sınıf. Daha sonra iki değişken aldık. tarih1 Ve tarih2 Tarih türünde. kullanarak ayrıştırma() SimpleDateFormat sınıfının yöntemiyle karşılaştırılacak tarihleri ​​ayrıştırdık. Yöntem bir döndürür tarih dizeden ayrıştırıldı. Date tipindeki date1 ve date2 değişkenlerini şu şekilde aktardık: biçim() yöntem. Yöntem, biçimlendirilmiş tarih/saat dizesini verir.

İki tarihi karşılaştırmak için şunu kullandık: karşılaştırmak() yöntem. Her iki tarih de eşitse yazdırılır Her iki tarih de eşittir. Eğer tarih1 tarih2'den büyük , yazdırır Tarih 1, Tarih 2'den sonra gelir . Eğer tarih1 tarih2'den küçük , yazdırır Tarih 1, Tarih 2'den sonra gelir .

KarşılaştırmaTarihleriÖrnek1.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(&apos;yyyy-MM-dd&apos;); //dates to be compare Date date1 = sdf.parse(&apos;2020-07-20&apos;); Date date2 = sdf.parse(&apos;2020-06-18&apos;); //prints dates System.out.println(&apos;Date 1: &apos; + sdf.format(date1)); System.out.println(&apos;Date 2: &apos; + sdf.format(date2)); //comparing dates if(date1.compareTo(date2) &gt; 0) { System.out.println(&apos;Date 1 comes after Date 2&apos;); } 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&apos;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(&apos;yyyy-MM-dd&apos;); //dates to be compared Date date1 = sdfo.parse(&apos;2019-01-01&apos;); Date date2 = sdfo.parse(&apos;2020-01-01&apos;); // Print the dates System.out.println(&apos;Date1: &apos; + sdfo.format(date1)); System.out.println(&apos;Date2: &apos; + sdfo.format(date2)); //Compare the two dates if (date1.after(date2)) { //if date1&gt;date2, prints the following statement System.out.println(&apos;Date1 comes after Date2&apos;); } 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&apos;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(&apos;yyyy-MM-dd&apos;); //dates to be compare Date date1 = sdf.parse(&apos;2020-12-01&apos;); Date date2 = sdf.parse(&apos;2020-12-01&apos;); // Prints the dates System.out.println(&apos;Date1: &apos; + sdf.format(date1)); System.out.println(&apos;Date2: &apos; + 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&gt;date2 System.out.println(&apos;Date1 comes after Date2&apos;); } 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&apos;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(&apos;Date1: &apos; + date1); System.out.println(&apos;Date2: &apos; + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println(&apos;Date1 comes after Date2&apos;); } else if (date1.isBefore(date2)) { System.out.println(&apos;Date1 comes before Date2&apos;); } else if (date1.isEqual(date2)) { System.out.println(&apos;Both dates are equal&apos;); } } } </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)>

Tarih Sınıfını Kullanma

Java tarih sınıfı, iki tarihi karşılaştırmak için before(), after() ve equals() yöntemini sağlar.

önce(): Yöntem, tarihin belirtilen tarihten önce gelip gelmediğini kontrol eder. Date türünde bir parametreyi ayrıştırır. Geri dönüyor doğru ancak ve ancak bu Date nesnesi tarafından temsil edilen zaman anı, When ile temsil edilen andan kesinlikle daha erkense, YANLIŞ aksi takdirde.

Sözdizimi:

android sürümleri
 public boolean before(Date when) 

Fırlatıyor NullPointerException ne zaman boşsa.

sonrasında(): Yöntem, tarihin belirtilen tarihten sonra gelip gelmediğini kontrol eder. Date türünde bir parametreyi ayrıştırır. Geri dönüyor doğru ancak ve ancak bu Date nesnesi tarafından temsil edilen zaman anı, When ile temsil edilen andan kesinlikle daha sonra ise, YANLIŞ aksi takdirde.

Sözdizimi:

 public boolean after(Date when) 

Fırlatıyor NullPointerException ne zaman boşsa.

eşittir(): Yöntem iki tarihin eşitliğini kontrol eder (karşılaştırır). Object sınıfının equals() yöntemini geçersiz kılar. Nesneler aynıysa true değerini döndürür, aksi takdirde false değerini döndürür. Bu nedenle, Date nesneleri ancak ve ancak getTime() yönteminin her iki tarih için de aynı uzun değeri döndürmesi durumunda eşit olacaktır.

Sözdizimi:

 public boolean equals (Object obj) 

Yukarıda anlattığımız yöntemi bir örnekte kullanalım ve bu yöntemler yardımıyla iki tarihi karşılaştıralım.

deve kutusu pitonu

KarşılaştırmaTarihleriÖrnek2.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(&apos;yyyy-MM-dd&apos;); //dates to be compared Date date1 = sdfo.parse(&apos;2019-01-01&apos;); Date date2 = sdfo.parse(&apos;2020-01-01&apos;); // Print the dates System.out.println(&apos;Date1: &apos; + sdfo.format(date1)); System.out.println(&apos;Date2: &apos; + sdfo.format(date2)); //Compare the two dates if (date1.after(date2)) { //if date1&gt;date2, prints the following statement System.out.println(&apos;Date1 comes after Date2&apos;); } 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&apos;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(&apos;yyyy-MM-dd&apos;); //dates to be compare Date date1 = sdf.parse(&apos;2020-12-01&apos;); Date date2 = sdf.parse(&apos;2020-12-01&apos;); // Prints the dates System.out.println(&apos;Date1: &apos; + sdf.format(date1)); System.out.println(&apos;Date2: &apos; + 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&gt;date2 System.out.println(&apos;Date1 comes after Date2&apos;); } 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&apos;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(&apos;Date1: &apos; + date1); System.out.println(&apos;Date2: &apos; + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println(&apos;Date1 comes after Date2&apos;); } else if (date1.isBefore(date2)) { System.out.println(&apos;Date1 comes before Date2&apos;); } else if (date1.isEqual(date2)) { System.out.println(&apos;Both dates are equal&apos;); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2 </pre> <hr></date2></pre></date2,>

Takvim Sınıfını Kullanma

Java Date sınıfı gibi, Takvim sınıf ayrıca before() , after() ve equals() yöntemlerini de sağlar. Yukarıda açıkladığımız gibi her üç yöntem de aynı imzaya sahiptir.

Calendar sınıfını kullanalım ve after(), before() ve equals() yöntemlerinin yardımıyla iki tarihi karşılaştıralım.

Aşağıdaki örnekte, önceki örnekte kullanılan yöntemin aynısını kullandık, ancak getInstance() Ve ayarlanan zaman() yöntemler.

getInstance(): Takvimin statik bir yöntemidir. Varsayılan saat dilimini ve yerel ayarı kullanarak bir Takvim döndürür.

Sözdizimi:

 public static Calendar getInstance() 

ayarlanan zaman(): Yöntem, takvim saatini belirtilen tarihe göre ayarlar. Date türünde bir parametreyi ayrıştırır.

Sözdizimi:

Java'da dize uzunluğu
 public final void setTime(Date date) 

KarşılaştırmaTarihleriÖrnek3.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(&apos;yyyy-MM-dd&apos;); //dates to be compare Date date1 = sdf.parse(&apos;2020-12-01&apos;); Date date2 = sdf.parse(&apos;2020-12-01&apos;); // Prints the dates System.out.println(&apos;Date1: &apos; + sdf.format(date1)); System.out.println(&apos;Date2: &apos; + 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&gt;date2 System.out.println(&apos;Date1 comes after Date2&apos;); } 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&apos;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(&apos;Date1: &apos; + date1); System.out.println(&apos;Date2: &apos; + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println(&apos;Date1 comes after Date2&apos;); } else if (date1.isBefore(date2)) { System.out.println(&apos;Date1 comes before Date2&apos;); } else if (date1.isEqual(date2)) { System.out.println(&apos;Both dates are equal&apos;); } } } </pre> <p> <strong>Output:</strong> </p> <pre> Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2 </pre> <hr></date2>

LocalDate Sınıfını Kullanma

Java başka bir şey sağlar YerelTarih İki LocalDate, LocalTime ve LocalDateTime'ı karşılaştırmak için sınıf. Üyesi olduğujava.timepaket. Sınıf, tarihleri ​​karşılaştırmak için isBefore(), isAfter(), isEquals() ve CompareTo() yöntemini sağlar. Bu yöntemler, Date ve Calendar sınıfının before(), after() ve equals() yöntemleriyle aynı şekilde çalışır.

Hadi kullanalım LocalDate sınıfı iki tarihi karşılaştırmak için bir örnekte.

Aşağıdaki örnekte iki tarihi karşılaştırmak için aşağıdaki yöntemi kullandık. Tüm yöntemler tarihleri ​​yerel saat çizgisine göre kontrol eder.

ile ilgili(): LocalDate sınıfının statik bir yöntemidir. Yıl, ay ve gün biçiminde bir LocalDate örneğini alır. İnt türünde yıl, ay ve tarih olmak üzere üç parametreyi kabul eder. Belirtilen tarihe sahip bir LocalDate döndürür.

Sözdizimi:

 public static LocalDate of(int year, int month, int dayOfMonth) 

Neresi:

yıl: MIN_YEAR ile MAX_YEAR arasında olmalıdır.

ay: 1 (Ocak) ile 12 (Aralık) arasında olmalıdır.

Ayın Tarihi: 1 ile 31 arasında olmalıdır.

Herhangi bir parametrenin değeri aralık dışındaysa DateTimeException oluşturur.

isBefore(): Yöntem, tarihin belirtilen tarihten önce olup olmadığını kontrol eder. Bir tarihi (karşılaştırmak için) parametre olarak ayrıştırır. Yalnızca tarihin belirtilen tarihten önce olması durumunda true değerini döndürür. Karşılaştırma yaklaşımı farklıdır. CompareTo(ChronoLocalDate).

Sözdizimi:

linux klasörü yeniden adlandır
 public boolean isBefore(ChronoLocalDate other) 

sonra(): Yöntem, tarihin belirtilen tarihten önce olup olmadığını kontrol eder. Bir tarihi (karşılaştırmak için) parametre olarak ayrıştırır. Yalnızca tarihin belirtilen tarihten önce olması durumunda true değerini döndürür. Karşılaştırma yaklaşımı farklıdır. CompareTo(ChronoLocalDate) .

Sözdizimi:

 public boolean isAfter(ChronoLocalDate other) 

eşittir(): Yöntem tarihlerin eşit olup olmadığını karşılaştırır. Her iki tarih de eşitse true, aksi takdirde false değerini döndürür. Bir tarihi (karşılaştırmak için) parametre olarak ayrıştırır.

Yalnızca tarihin belirtilen tarihten önce olması durumunda true değerini döndürür. Karşılaştırma yaklaşımı farklıdır. CompareTo(ChronoLocalDate).

Sözdizimi:

 public boolean isEqual(ChronoLocalDate other) 

KarşılaştırmaTarihleriÖrnek4.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(&apos;Date1: &apos; + date1); System.out.println(&apos;Date2: &apos; + date2); //comparing two dates if (date1.isAfter(date2)) { System.out.println(&apos;Date1 comes after Date2&apos;); } else if (date1.isBefore(date2)) { System.out.println(&apos;Date1 comes before Date2&apos;); } else if (date1.isEqual(date2)) { System.out.println(&apos;Both dates are equal&apos;); } } } 

Çıktı:

 Date1: 2020-09-29 Date2: 2020-12-07 Date1 comes before Date2