Константа ALIGNED_WEEK_OF_MONTH
Константа ALIGNED_WEEK_OF_MONTH класса ChronoField представляет выровненную неделю месяца.
Выровненные недели нумеруются от 1 до 5, где каждая неделя начинается с понедельника и содержит ровно 7 дней, независимо от фактического начала месяца.
Импорт
import java.time.temporal.ChronoField
Синтаксис
ChronoField.ALIGNED_WEEK_OF_MONTH
Пример
Получим значение выровненной недели месяца для даты "2025-01-15":
import 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")
Результат выполнения кода:
String "Aligned week of month: 3"
Пример
Проверим диапазон допустимых значений для выровненной недели месяца:
import 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}")
Результат выполнения кода:
String "Range: 1 to 5"
Пример
Сравним выровненную неделю месяца с обычной неделей для разных дат:
import 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")
}
Результат выполнения кода:
String "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,
которая представляет день месяца