НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1040 of 1310 menu

Статический метод ofDateAdjuster

Статический метод ofDateAdjuster класса TemporalAdjusters создает пользовательский корректировщик дат на основе лямбда-выражения. В параметр мы передаем функцию, которая принимает объект LocalDate и возвращает новый объект LocalDate с примененными изменениями.

Импорт

import java.time.LocalDate import java.time.temporal.TemporalAdjusters

Синтаксис

fun ofDateAdjuster(adjuster: (LocalDate) -> LocalDate): TemporalAdjuster

Пример

Создадим корректировщик, который добавляет 10 дней к текущей дате:

val addTenDaysAdjuster = TemporalAdjusters.ofDateAdjuster { date -> date.plusDays(10) } val currentDate = LocalDate.of(2025, 6, 15) val adjustedDate = currentDate.with(addTenDaysAdjuster) println("Original date: $currentDate") println("Adjusted date: $adjustedDate")

Результат выполнения кода:

String "Original date: 2025-06-15" String "Adjusted date: 2025-06-25"

Пример

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

val lastDayOfMonthAdjuster = TemporalAdjusters.ofDateAdjuster { date -> date.withDayOfMonth(date.lengthOfMonth()) } val testDate = LocalDate.of(2025, 2, 15) val resultDate = testDate.with(lastDayOfMonthAdjuster) println("Test date: $testDate") println("Result date: $resultDate")

Результат выполнения кода:

String "Test date: 2025-02-15" String "Result date: 2025-02-28"

Пример

Создадим корректировщик, который переходит к следующему понедельнику:

val nextMondayAdjuster = TemporalAdjusters.ofDateAdjuster { date -> var current = date val targetDay = java.time.DayOfWeek.MONDAY while (current.dayOfWeek != targetDay) { current = current.plusDays(1) } current } val fridayDate = LocalDate.of(2025, 7, 18) val mondayDate = fridayDate.with(nextMondayAdjuster) println("Friday date: $fridayDate") println("Next Monday: $mondayDate")

Результат выполнения кода:

String "Friday date: 2025-07-18" String "Next Monday: 2025-07-21"

Смотрите также

  • функцию firstDayOfMonth класса TemporalAdjusters,
    которая возвращает первый день месяца
  • функцию lastDayOfMonth класса TemporalAdjusters,
    которая возвращает последний день месяца
  • функцию plusDays класса LocalDate,
    которая добавляет дни к дате
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить