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

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

Импорт

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

Синтаксис

kotlinfun previous(dayOfWeek: DayOfWeek): TemporalAdjuster

Пример

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

kotlinval date = LocalDate.of(2025, 7, 15)
val previousFriday = date.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY))
println(previousFriday)

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

kotlinString "2025-07-11"

Пример

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

kotlinval date = LocalDate.parse("2025-12-31")
val previousMonday = date.with(TemporalAdjusters.previous(DayOfWeek.MONDAY))
println(previousMonday)

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

kotlinString "2025-12-29"

Пример

Если текущий день совпадает с искомым, будет возвращена дата неделей раньше:

kotlinval date = LocalDate.of(2025, 7, 11)
val previousFriday = date.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY))
println(previousFriday)

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

kotlinString "2025-07-04"

Пример

Использование с другими временными типами:

kotlinimport java.time.LocalDateTime

val dateTime = LocalDateTime.of(2025, 7, 15, 10, 30)
val previousWednesday = dateTime.with(TemporalAdjusters.previous(DayOfWeek.WEDNESDAY))
println(previousWednesday)

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

kotlinString "2025-07-09T10:30"

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

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