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

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

от deshaun_cormier , в категории: Java , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от olen.shanahan , 2 года назад

@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.

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

от cierra , 8 месяцев назад

@deshaun_cormier 

Для сравнения дат в Java можно использовать объекты Date или LocalDate.


Если вы хотите сравнить даты с учетом времени, то лучше использовать класс Date, как показано в первом примере выше.


Если вам необходимо произвести сравнение дат без учета времени, то рекомендуется использовать класс LocalDate, как показано во втором примере выше.


Оба варианта представляют аналогичные методы для сравнения дат, но структура их объектов отличается.


Пожалуйста, учитывайте рекомендации о том, что класс Date устарел и рекомендуется использовать классы из пакета java.time для работы с датами и временем в Java.