Как сравнить даты на java?

Пользователь

от deshaun_cormier , в категории: Java , 9 месяцев назад

Как сравнить даты на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от olen.shanahan , 8 месяцев назад

@deshaun_cormier 

В Java сравнение дат осуществляется через использование объектов класса Date или LocalDate.

  1. Сравнение Date:


Для сравнения дат, используется метод compareTo класса Date, который возвращает целое число, указывающее, какая из двух дат больше. Если результат равен 0, то даты равны, если он меньше 0, то первая дата меньше, если больше 0, то первая дата больше.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Date date1 = new Date();
Date date2 = new Date();

int result = date1.compareTo(date2);

if (result == 0) {
   System.out.println("Dates are equal");
} else if (result < 0) {
   System.out.println("Date1 is before Date2");
} else {
   System.out.println("Date1 is after Date2");
}


  1. Сравнение LocalDate:


Для сравнения дат без учета времени, рекомендуется использовать класс LocalDate. В этом случае сравнение осуществляется с использованием методов isEqual, isBefore и isAfter.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
LocalDate date1 = LocalDate.now();
LocalDate date2 = LocalDate.of(2023, 4, 20);

if (date1.isEqual(date2)) {
   System.out.println("Dates are equal");
} else if (date1.isBefore(date2)) {
   System.out.println("Date1 is before Date2");
} else {
   System.out.println("Date1 is after Date2");
}


Обратите внимание, что класс Date устарел и не рекомендуется использовать в новом коде, вместо него рекомендуется использовать классы из пакета java.time.