Класс Period
Класс Period представляет период времени, состоящий из лет, месяцев и дней.
Он используется для работы с датами на уровне лет, месяцев и дней, например, для вычисления разницы между датами или добавления периода к дате.
Импорт
import java.time.Period
Синтаксис создания
fun of(years: Int, months: Int, days: Int): Period
fun ofYears(years: Int): Period
fun ofMonths(months: Int): Period
fun ofWeeks(weeks: Int): Period
fun ofDays(days: Int): Period
fun parse(text: CharSequence): Period
fun between(startDate: LocalDate, endDate: LocalDate): Period
Пример
Создадим период в 2 года, 3 месяца и 10 дней:
val period = Period.of(2, 3, 10)
println(period)
Результат выполнения кода:
String "P2Y3M10D"
Пример
Создадим период только из лет:
val period = Period.ofYears(5)
println(period)
Результат выполнения кода:
String "P5Y"
Пример
Создадим период из строки в формате ISO-8601:
val period = Period.parse("P1Y2M15D")
println(period)
Результат выполнения кода:
String "P1Y2M15D"
Пример
Вычислим разницу между двумя датами:
val 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}")
Результат выполнения кода:
String "Years: 1, Months: 2, Days: 14"
Пример
Добавим период к дате:
val date = LocalDate.of(2025, 5, 10)
val period = Period.of(1, 2, 5)
val newDate = date.plus(period)
println(newDate)
Результат выполнения кода:
String "2026-07-15"