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

Статический метод nextOrSame класса TemporalAdjusters возвращает корректировщик, который находит следующий указанный день недели от заданной даты. Если переданная дата уже соответствует искомому дню недели, дата не изменяется. В единственный параметр мы передаем объект DayOfWeek, представляющий искомый день недели.

Импорт

kotlinimport java.time.DayOfWeek
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters

Синтаксис

kotlinfun nextOrSame(dayOfWeek: DayOfWeek): TemporalAdjuster

Пример

Найдем следующий понедельник от даты "2025-07-15" (вторник):

kotlinval date = LocalDate.of(2025, 7, 15)
val nextMonday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY))
println(nextMonday)

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

kotlinString "2025-07-21"

Пример

Найдем следующий вторник от даты "2025-07-15" (вторник) - дата останется неизменной:

kotlinval date = LocalDate.of(2025, 7, 15)
val nextTuesday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.TUESDAY))
println(nextTuesday)

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

kotlinString "2025-07-15"

Пример

Найдем следующую субботу от даты "2025-12-30" (вторник) в конце года:

kotlinval date = LocalDate.of(2025, 12, 30)
val nextSaturday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.SATURDAY))
println(nextSaturday)

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

kotlinString "2026-01-03"

Пример

Используем цепочку вызовов для нахождения следующей пятницы и добавления 2 дней:

kotlinval date = LocalDate.of(2025, 3, 10)
val result = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY)).plusDays(2)
println(result)

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

kotlinString "2025-03-16"

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

  • метод next класса TemporalAdjusters,
    который находит следующий указанный день недели
  • метод previous класса TemporalAdjusters,
    который находит предыдущий указанный день недели
  • метод previousOrSame класса TemporalAdjusters,
    который находит предыдущий или текущий день недели
  • класс DayOfWeek,
    который представляет дни недели