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

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

Импорт

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

Синтаксис

kotlinfun previousOrSame(dayOfWeek: DayOfWeek): TemporalAdjuster

Пример

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

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

val date = LocalDate.of(2025, 7, 16)
val previousMonday = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))
println(previousMonday)

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

kotlinString "2025-07-14"

Пример

Если текущая дата уже является понедельником, метод вернет эту же дату:

kotlinval date = LocalDate.of(2025, 7, 14)
val previousMonday = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))
println(previousMonday)

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

kotlinString "2025-07-14"

Пример

Найдем предыдущую пятницу относительно даты "2025-12-31" (среда):

kotlinval date = LocalDate.of(2025, 12, 31)
val previousFriday = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.FRIDAY))
println(previousFriday)

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

kotlinString "2025-12-26"

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

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