Статический метод dayOfWeekInMonth
Статический метод dayOfWeekInMonth класса TemporalAdjusters возвращает корректировщик, который находит n-й указанный день недели в месяце.
В первый параметр мы передаем порядковый номер дня недели в месяце (положительный для поиска от начала месяца, отрицательный для поиска от конца месяца), во второй параметр мы передаем день недели из перечисления DayOfWeek.
Импорт
kotlinimport java.time.DayOfWeek
import java.time.temporal.TemporalAdjusters
Синтаксис
kotlinfun dayOfWeekInMonth(ordinal: Int, dayOfWeek: DayOfWeek): TemporalAdjuster
Пример
Найдем первый понедельник в декабре 2025 года:
kotlinimport java.time.LocalDate
import java.time.DayOfWeek
import java.time.temporal.TemporalAdjusters
val date = LocalDate.of(2025, 12, 1)
val firstMonday = date.with(TemporalAdjusters.dayOfWeekInMonth(1, DayOfWeek.MONDAY))
println(firstMonday)
Результат выполнения кода:
kotlinString "2025-12-01"
Пример
Найдем последнюю пятницу в июле 2025 года (используя отрицательный порядковый номер):
kotlinval date = LocalDate.of(2025, 7, 1)
val lastFriday = date.with(TemporalAdjusters.dayOfWeekInMonth(-1, DayOfWeek.FRIDAY))
println(lastFriday)
Результат выполнения кода:
kotlinString "2025-07-25"
Пример
Найдем третий вторник в марте 2025 года:
kotlinval date = LocalDate.of(2025, 3, 1)
val thirdTuesday = date.with(TemporalAdjusters.dayOfWeekInMonth(3, DayOfWeek.TUESDAY))
println(thirdTuesday)
Результат выполнения кода:
kotlinString "2025-03-18"
Пример
Найдем четвертое воскресенье в ноябре 2025 года и получим его компоненты:
kotlinval date = LocalDate.of(2025, 11, 1)
val fourthSunday = date.with(TemporalAdjusters.dayOfWeekInMonth(4, DayOfWeek.SUNDAY))
val year = fourthSunday.year
val month = fourthSunday.monthValue
val day = fourthSunday.dayOfMonth
println("Year: $year, Month: $month, Day: $day")
Результат выполнения кода:
kotlinString "Year: 2025, Month: 11, Day: 23"
Смотрите также
-
метод
firstInMonthклассаTemporalAdjusters,
который находит первый указанный день недели в месяце -
метод
lastInMonthклассаTemporalAdjusters,
который находит последний указанный день недели в месяце -
перечисление
DayOfWeek,
которое содержит дни недели