Java Date compareTo() Method



Description

The Java Date compareTo(Date anotherDate) method compares two Dates.

Declaration

Following is the declaration for java.util.Date.compareTo() method

public int compareTo(Date anotherDate)

Parameters

anotherDate − date to be compared to

Return Value

0 if the argument Date is equal to this Date; a value less than 0 if this Date is before the Date argument; and a value greater than 0 if this Date is after the Date argument.

Exception

NullPointerException − if anotherDate is null.

Comparing Date to Come Before a Date Example

The following example shows the usage of Java Date compareTo() method. We're creating two Date instances of different dates. Each date is compared using compareTo() method and result is printed.

package com.tutorialspoint;

import java.util.Date;

public class DateDemo {
   public static void main(String[] args) {

      // create a date
      Date date1 = new Date(122, 10, 4);
      Date date2 = new Date(122, 11, 4);

      System.out.println("Date1: " + date1.toString());
      System.out.println("Date2: " + date2.toString());

      int result = date1.compareTo(date2);
      if( result == 0) {
         System.out.println("Dates are same.");
      } else if (result == 1) {
         System.out.println("Date1 is after Date2.");
      } else if (result == -1) {
         System.out.println("Date1 is before Date2.");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Date1: Fri Nov 04 00:00:00 IST 2022
Date2: Sun Dec 04 00:00:00 IST 2022
Date1 is before Date2.

Comparing Date to Come After a Date Example

The following example shows the usage of Java Date compareTo() method. We're creating two Date instances of different dates. Each date is compared using compareTo() method and result is printed.

package com.tutorialspoint;

import java.util.Date;

public class DateDemo {
   public static void main(String[] args) {

      // create a date
      Date date1 = new Date(122, 11, 5);
      Date date2 = new Date(122, 11, 4);

      System.out.println("Date1: " + date1.toString());
      System.out.println("Date2: " + date2.toString());

      int result = date1.compareTo(date2);
      if( result == 0) {
         System.out.println("Dates are same.");
      } else if (result == 1) {
         System.out.println("Date1 is after Date2.");
      } else if (result == -1) {
         System.out.println("Date1 is before Date2.");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Date1: Mon Dec 05 00:00:00 IST 2022
Date2: Sun Dec 04 00:00:00 IST 2022
Date1 is after Date2.

Comparing Date to be Same as Given Date Example

The following example shows the usage of Java Date compareTo() method. We're creating two Date instances of same date. Each date is compared using compareTo() method and result is printed.

package com.tutorialspoint;

import java.util.Date;

public class DateDemo {
   public static void main(String[] args) {

      // create a date
      Date date1 = new Date(122, 11, 5);
      Date date2 = new Date(122, 11, 5);

      System.out.println("Date1: " + date1.toString());
      System.out.println("Date2: " + date2.toString());

      int result = date1.compareTo(date2);
      if( result == 0) {
         System.out.println("Dates are same.");
      } else if (result == 1) {
         System.out.println("Date1 is after Date2.");
      } else if (result == -1) {
         System.out.println("Date1 is before Date2.");
      }
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Date1: Mon Dec 05 00:00:00 IST 2022
Date2: Mon Dec 05 00:00:00 IST 2022
Dates are same.
java_util_date.htm
Advertisements