Статический метод nextOrSame
Статический метод nextOrSame класса TemporalAdjusters возвращает корректировщик, который находит следующий указанный день недели от заданной даты.
Если переданная дата уже соответствует искомому дню недели, дата не изменяется.
В единственный параметр мы передаем объект DayOfWeek, представляющий искомый день недели.
Импорт
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
Синтаксис
fun nextOrSame(dayOfWeek: DayOfWeek): TemporalAdjuster
Пример
Найдем следующий понедельник от даты "2025-07-15" (вторник):
val date = LocalDate.of(2025, 7, 15)
val nextMonday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.MONDAY))
println(nextMonday)
Результат выполнения кода:
String "2025-07-21"
Пример
Найдем следующий вторник от даты "2025-07-15" (вторник) - дата останется неизменной:
val date = LocalDate.of(2025, 7, 15)
val nextTuesday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.TUESDAY))
println(nextTuesday)
Результат выполнения кода:
String "2025-07-15"
Пример
Найдем следующую субботу от даты "2025-12-30" (вторник) в конце года:
val date = LocalDate.of(2025, 12, 30)
val nextSaturday = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.SATURDAY))
println(nextSaturday)
Результат выполнения кода:
String "2026-01-03"
Пример
Используем цепочку вызовов для нахождения следующей пятницы и добавления 2 дней:
val date = LocalDate.of(2025, 3, 10)
val result = date.with(TemporalAdjusters.nextOrSame(DayOfWeek.FRIDAY)).plusDays(2)
println(result)
Результат выполнения кода:
String "2025-03-16"
Смотрите также
-
метод
nextклассаTemporalAdjusters,
который находит следующий указанный день недели -
метод
previousклассаTemporalAdjusters,
который находит предыдущий указанный день недели -
метод
previousOrSameклассаTemporalAdjusters,
который находит предыдущий или текущий день недели -
класс
DayOfWeek,
который представляет дни недели