Введение
В этом практическом занятии вы научитесь использовать метод compareTo() из класса LocalDate в Java. Этот метод используется для сравнения двух различных дат и возвращает целочисленное значение.
Импортировать пакет LocalDate
Добавьте следующий оператор импорта в начале файла для импорта класса LocalDate:
import java.time.LocalDate;
Сравнить даты с использованием compareTo()
В этом шаге вы сравните две разные даты с использованием метода compareTo() и выведете результат сравнения. Добавьте следующий код в метод main():
// Взять дату
LocalDate date1 = LocalDate.of(2021, 12, 31);
// Вывести дату
System.out.println("Date 1 is : "+date1);
// Взять другую дату
LocalDate date2 = LocalDate.now();
// Вывести дату
System.out.println("Date 2 is : "+date2);
// Сравнить две даты с использованием compareTo()
int result = date1.compareTo(date2);
// Вывести, находится ли дата 1 до, после или равна дате 2
if(result<0){
System.out.println("Date 1 is before Date 2");
}
else if(result>0){
System.out.println("Date 1 is after Date 2");
}
else{
System.out.println("Both Dates are same");
}
Запустить код
Сохраните файл и запустите следующую команду в терминале:
javac DateComparator.java && java DateComparator
Изменить даты и сравнить
В этом шаге вы измените даты, используемые для сравнения, и увидите результат. Замените следующую строку в коде:
LocalDate date1 = LocalDate.of(2021, 12, 31);
Любой другой датой и запустите код снова.
Сравнить одинаковые даты
В этом шаге вы измените даты, используемые для сравнения, чтобы они были одинаковыми. Замените следующую строку в коде:
LocalDate date2 = LocalDate.now();
То же самое значение, что и у date1, и запустите код снова.
Сравнить сегодняшнюю дату с будущей датой
В этом шаге вы сравните сегодняшнюю дату с будущей датой. Замените следующую строку в коде:
LocalDate date1 = LocalDate.of(2021, 12, 31);
Любой датой в будущем и запустите код снова.
Сравнить сегодняшнюю дату с прошедшей датой
В этом шаге вы сравните сегодняшнюю дату с прошедшей датой. Замените следующую строку в коде:
LocalDate date1 = LocalDate.of(2021, 12, 31);
Любой датой в прошлом и запустите код снова.
Использовать другой объект ChronoLocalDate
В этом шаге вы будете использовать другой объект, который наследуется от ChronoLocalDate, а не LocalDate, и сравнивать две разные даты. Сначала создайте новый класс с именем MyDate и добавьте следующий код:
import java.time.chrono.ChronoLocalDate;
public class MyDate implements ChronoLocalDate {
// Добавьте детали реализации для интерфейса ChronoLocalDate
//...
}
Затем замените переменные LocalDate на переменные MyDate и, при необходимости, скорректируйте детали реализации для класса MyDate. Запустите код снова, чтобы убедиться, что он по-прежнему работает.
Резюме
В этом практическом занятии вы узнали, как сравнивать разные даты в Java с использованием метода compareTo() из класса LocalDate. Также вы узнали, как выводить результат сравнения и как модифицировать код для различных тестовых случаев.



