Константа ALIGNED_WEEK_OF_MONTH

Константа ALIGNED_WEEK_OF_MONTH класса ChronoField представляет выровненную неделю месяца. Выровненные недели нумеруются от 1 до 5, где каждая неделя начинается с понедельника и содержит ровно 7 дней, независимо от фактического начала месяца.

Импорт

kotlinimport java.time.temporal.ChronoField

Синтаксис

kotlinChronoField.ALIGNED_WEEK_OF_MONTH

Пример

Получим значение выровненной недели месяца для даты "2025-01-15":

kotlinimport java.time.LocalDate
import java.time.temporal.ChronoField

val date = LocalDate.of(2025, 1, 15)
val alignedWeek = date.get(ChronoField.ALIGNED_WEEK_OF_MONTH)
println("Aligned week of month: $alignedWeek")

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

kotlinString "Aligned week of month: 3"

Пример

Проверим диапазон допустимых значений для выровненной недели месяца:

kotlinimport java.time.LocalDate
import java.time.temporal.ChronoField

val date = LocalDate.of(2025, 2, 1)
val range = date.range(ChronoField.ALIGNED_WEEK_OF_MONTH)
println("Range: ${range.minimum} to ${range.maximum}")

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

kotlinString "Range: 1 to 5"

Пример

Сравним выровненную неделю месяца с обычной неделей для разных дат:

kotlinimport java.time.LocalDate
import java.time.temporal.ChronoField

val dates = listOf(
  LocalDate.of(2025, 1, 1),
  LocalDate.of(2025, 1, 7),
  LocalDate.of(2025, 1, 15),
  LocalDate.of(2025, 1, 31)
)

for (date in dates) {
  val alignedWeek = date.get(ChronoField.ALIGNED_WEEK_OF_MONTH)
  val dayOfWeek = date.dayOfWeek.value
  println("Date: $date, Aligned week: $alignedWeek, Day of week: $dayOfWeek")
}

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

kotlinString "Date: 2025-01-01, Aligned week: 1, Day of week: 3"
String "Date: 2025-01-07, Aligned week: 1, Day of week: 2"
String "Date: 2025-01-15, Aligned week: 3, Day of week: 3"
String "Date: 2025-01-31, Aligned week: 5, Day of week: 5"

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

  • константу ALIGNED_WEEK_OF_YEAR класса ChronoField,
    которая представляет выровненную неделю года
  • константу DAY_OF_MONTH класса ChronoField,
    которая представляет день месяца