Класс Period

Класс Period представляет период времени, состоящий из лет, месяцев и дней. Он используется для работы с датами на уровне лет, месяцев и дней, например, для вычисления разницы между датами или добавления периода к дате.

Импорт

kotlinimport java.time.Period

Синтаксис создания

kotlinfun of(years: Int, months: Int, days: Int): Period
kotlinfun ofYears(years: Int): Period
kotlinfun ofMonths(months: Int): Period
kotlinfun ofWeeks(weeks: Int): Period
kotlinfun ofDays(days: Int): Period
kotlinfun parse(text: CharSequence): Period
kotlinfun between(startDate: LocalDate, endDate: LocalDate): Period

Пример

Создадим период в 2 года, 3 месяца и 10 дней:

kotlinval period = Period.of(2, 3, 10)
println(period)

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

kotlinString "P2Y3M10D"

Пример

Создадим период только из лет:

kotlinval period = Period.ofYears(5)
println(period)

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

kotlinString "P5Y"

Пример

Создадим период из строки в формате ISO-8601:

kotlinval period = Period.parse("P1Y2M15D")
println(period)

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

kotlinString "P1Y2M15D"

Пример

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

kotlinval startDate = LocalDate.of(2025, 1, 1)
val endDate = LocalDate.of(2026, 3, 15)
val period = Period.between(startDate, endDate)

println("Years: ${period.years}, Months: ${period.months}, Days: ${period.days}")

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

kotlinString "Years: 1, Months: 2, Days: 14"

Пример

Добавим период к дате:

kotlinval date = LocalDate.of(2025, 5, 10)
val period = Period.of(1, 2, 5)
val newDate = date.plus(period)

println(newDate)

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

kotlinString "2026-07-15"

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

  • класс Duration,
    который представляет продолжительность времени в секундах и наносекундах
  • метод between класса Period,
    который вычисляет период между двумя датами