Метод compareTo класса Java LocalDate

JavaBeginner
Практиковаться сейчас

Введение

В этом практическом занятии вы научитесь использовать метод 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. Также вы узнали, как выводить результат сравнения и как модифицировать код для различных тестовых случаев.