Константа PROLEPTIC_MONTH

Константа PROLEPTIC_MONTH класса ChronoField представляет пролептический месяц, который является абсолютным счетом месяцев от начальной точки 1970-01. Это поле представляет собой комбинацию года и месяца, где каждый месяц считается последовательно без учета правил календаря. Значение вычисляется как (год * 12 + месяц - 1).

Импорт

kotlinimport java.time.temporal.ChronoField

Синтаксис

kotlinChronoField.PROLEPTIC_MONTH

Пример

Получим значение пролептического месяца для даты "2025-07-15":

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

val date = LocalDate.of(2025, 7, 15)
val prolepticMonth = date.getLong(ChronoField.PROLEPTIC_MONTH)
println("Proleptic month: $prolepticMonth")

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

kotlinString "Proleptic month: 666"

Пример

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

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

val date1 = LocalDate.of(2025, 12, 31)
val date2 = LocalDate.of(2024, 1, 1)

val months1 = date1.getLong(ChronoField.PROLEPTIC_MONTH)
val months2 = date2.getLong(ChronoField.PROLEPTIC_MONTH)
val diff = months1 - months2

println("Difference in proleptic months: $diff")

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

kotlinString "Difference in proleptic months: 23"

Пример

Проверим валидность значения пролептического месяца:

kotlinimport java.time.temporal.ChronoField

val isValid = ChronoField.PROLEPTIC_MONTH.isSupportedBy()
println("Is supported: $isValid")

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

kotlinString "Is supported: true"

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

  • константу YEAR класса ChronoField,
    которая представляет год
  • константу MONTH_OF_YEAR класса ChronoField,
    которая представляет месяц года
  • класс ChronoUnit,
    который представляет единицы измерения времени