Статический метод previous
Статический метод previous класса TemporalAdjusters возвращает объект TemporalAdjuster, который находит предыдущее вхождение указанного дня недели относительно заданной даты.
В параметр мы передаем объект DayOfWeek, представляющий искомый день недели.
Импорт
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
Синтаксис
fun previous(dayOfWeek: DayOfWeek): TemporalAdjuster
Пример
Найдем предыдущую пятницу относительно даты "2025-07-15":
val date = LocalDate.of(2025, 7, 15)
val previousFriday = date.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY))
println(previousFriday)
Результат выполнения кода:
String "2025-07-11"
Пример
Найдем предыдущий понедельник относительно даты "2025-12-31":
val date = LocalDate.parse("2025-12-31")
val previousMonday = date.with(TemporalAdjusters.previous(DayOfWeek.MONDAY))
println(previousMonday)
Результат выполнения кода:
String "2025-12-29"
Пример
Если текущий день совпадает с искомым, будет возвращена дата неделей раньше:
val date = LocalDate.of(2025, 7, 11)
val previousFriday = date.with(TemporalAdjusters.previous(DayOfWeek.FRIDAY))
println(previousFriday)
Результат выполнения кода:
String "2025-07-04"
Пример
Использование с другими временными типами:
import java.time.LocalDateTime
val dateTime = LocalDateTime.of(2025, 7, 15, 10, 30)
val previousWednesday = dateTime.with(TemporalAdjusters.previous(DayOfWeek.WEDNESDAY))
println(previousWednesday)
Результат выполнения кода:
String "2025-07-09T10:30"
Смотрите также
-
метод
nextклассаTemporalAdjusters,
который находит следующее вхождение дня недели -
метод
previousOrSameклассаTemporalAdjusters,
который находит предыдущее или текущее вхождение дня недели -
метод
nextOrSameклассаTemporalAdjusters,
который находит следующее или текущее вхождение дня недели -
перечисление
DayOfWeek,
которое представляет дни недели