Класс 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"