Java 8 New Date/Time API - Часть 3
Данная статья написана командой Vertex Academy. Это одна из статей из нашего Учебника по Java 8.
1. Введение
В предыдущей статье мы узнали, как работать с добавлением и отниманием дат и времени в Java 8. В этой статье мы рассмотрим сравнение дат и времени.
2. Сравнение дат
Для сравнения LocalDate существует два метода - isAfter() а так же isBefore()
1 2 3 4 |
LocalDate now = LocalDate.now(); LocalDate _2017 = LocalDate.of(2017, 9, 23); boolean after = now.isAfter(_2017);// true boolean before = now.isBefore(_2017);// false |
Все просто как никогда.
3. Сравнение времени
Сравнение LocalTime так же просто, как и в случае с LocalDate - те же методы и та же логика
1 2 3 4 |
LocalTime now = LocalTime.now(); LocalTime _2HoursAfter = now.plusHours(2); boolean after = now.isAfter(_2HoursAfter); // false boolean before = now.isBefore(_2HoursAfter); // true |
4. Сравнение дат и времени
Нечего и добавить, все так же как и в случае с LocalDate и LocalTime
1 2 3 4 |
LocalDateTime now = LocalDateTime.now(); LocalDateTime monthAgo = now.minusMonths(1); boolean after = now.isAfter(monthAgo); // true boolean before = now.isBefore(monthAgo); // false |
Во всех трёх классах при сравнении используется метод compareTo(), который можно вызвать и самостоятельно
1 2 3 4 5 6 7 8 9 10 11 12 |
LocalDate localDate = LocalDate.now(); LocalDate tomorrow = LocalDate.now().plusDays(1); boolean isDateAfter = localDate.compareTo(tomorrow) > 0; // false LocalTime localTime = LocalTime.now(); LocalTime hourLater = localTime.plusHours(1); boolean isTimeBefore = localTime.compareTo(hourLater) < 0; // true LocalDateTime localDateTime = LocalDateTime.now(); LocalDateTime lastYear = localDateTime.minusYears(1); boolean isDateTimeAfter = localDateTime.compareTo(lastYear) > 0; // true |
Но зачем, когда есть такие методы как isAfter() и isBefore()
В следующей статье мы рассмотрим форматирование дат и времени. Спасибо, что были с нами 🙂