JavaStart
927 subscribers
886 photos
26 videos
595 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Класс LocalDate в Java простыми словами. Часть 1.

Когда дело касается работы с датами в Java, класс LocalDate является незаменимым инструментом. Он предоставляет простой и удобный способ для представления даты без учета временной зоны и времени суток.

Класс LocalDate является частью пакета java.time и был введен в Java 8 для работы с датами без времени. Он представляет собой неизменяемый объект, который содержит год, месяц и день.

LocalDate не учитывает часы, минуты и секунды, что делает его идеальным для работы с календарными датами.

Создание объекта LocalDate.

Для создания объекта LocalDate используется статический метод of().

Например, чтобы представить дату 23 июля 2025 года, мы можем использовать следующий код:

LocalDate date = LocalDate.of(2025, 7, 23);

Операции с датами.

Класс LocalDate обладает множеством методов для выполнения различных операций с датами. Например, мы можем добавлять и вычитать дни, месяцы и годы, а также выполнять сравнение дат.

// Прибавляем 1 день к нашей дате
LocalDate tomorrow = date.plusDays(1);

// Прибавляем 1 месяц к нашей дате
LocalDate nextMonth = date.plusMonths(1);

// Отнимаем 1 год от нашей даты
LocalDate previousYear = date.minusYears(1);

boolean isAfter = date.isAfter(tomorrow);

boolean isBefore = date.isBefore(nextMonth);

boolean isEqual = date.isEqual(previousYear);

Если мы напишем в консоль:

System.out.println(isAfter);
System.out.println(isBefore);
System.out.println(isEqual);

То получим следующий вывод:

false
true
false

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁53👨‍💻1
Какая аннотация Spring помечает метод-слушатель событий?
Anonymous Quiz
3%
Посмотреть ответ
2👍2🎉2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4💯4👍1
Знакомство с классом LocalDate в Java. Часть 2.

Форматирование и разбор даты.

Методы format() и parse() позволяют форматировать объект LocalDate в строку и обратно. Например:

// Создаём переменную date
LocalDate date = LocalDate.of(2025, 7, 23);

// Форматируем дату в строку по конкретному паттерну
String formattedDate = date.format(DateTimeFormatter.ofPattern("dd.MM.yyyy"));

// Получаем дату из переданной строки
LocalDate parsedDate = LocalDate.parse(
"23.07.2025",
DateTimeFormatter.ofPattern("dd.MM.yyyy")
);

System.out.println(formattedDate);
System.out.println(parsedDate);

Вывод переменных в консоль:

23.07.2025
2025-07-23

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3👨‍💻32
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍3👨‍💻1
Какой метод Stream API завершит вычисления, как только найден первый элемент, удовлетворяющий условию?
Anonymous Quiz
3%
filter()
78%
findFirst()
16%
anyMatch()
1%
collect()
1%
Посмотреть ответ
👍32🎉2
Знакомство с классом LocalDate в Java. Часть 3.

Пример использования LocalDate на коммерческом проекте.

Допустим, у нас есть задача вычислить дату через два месяца от текущей даты и проверить, выпадает ли она на выходной день:

Введем переменную currentDate, которая будет соответствовать фиксированной дате (20 июля 2025). Введем переменную twoMonthsLater, которая будет соответствовать дате, которая старше нашей на 2 месяца.

Пропишем условие, которое будет проверять, выпадает ли наша новая дата twoMonthsLater на выходной день или нет (Картинка 1).

Чтобы получить конкретный день нашей новой даты, воспользуемся методом класса LocalDate - getDayOfWeek(), а также проверки нужного дня недели воспользуемся энамом DayOfWeek из того же пакета java.time. И сделаем сравнение (Картинка 2).

Вывод в консоль на Картинке 2.

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥2👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6💯421
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5💯3👍1
Какой из Collectors лучше всего подходит для подсчёта количества элементов потока?
Anonymous Quiz
8%
Collectors.toList()
47%
Collectors.counting()
12%
Collectors.summingInt()
23%
Collectors.reducing(0, e -> 1, Integer::sum)
10%
Посмотреть ответ
4👍3🎉1