Функция until

Функция until класса LocalDate вычисляет количество времени между двумя датами в указанных единицах измерения. В первый параметр мы передаем конечную дату, во второй параметр мы передаем единицу измерения времени, в которой хотим получить результат.

Импорт

kotlinimport java.time.LocalDate
import java.time.temporal.ChronoUnit

Синтаксис

kotlinfun until(endDate: LocalDate): Long
kotlinfun until(endDate: LocalDate, unit: ChronoUnit): Long

Пример

Вычислим количество дней между датами "2025-01-01" и "2025-12-31":

kotlinval startDate = LocalDate.parse("2025-01-01")
val endDate = LocalDate.parse("2025-12-31")
val daysBetween = startDate.until(endDate, ChronoUnit.DAYS)
println("Days between: $daysBetween")

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

kotlinString "Days between: 364"

Пример

Вычислим количество месяцев между датами:

kotlinval date1 = LocalDate.parse("2025-01-15")
val date2 = LocalDate.parse("2025-12-15")
val monthsBetween = date1.until(date2, ChronoUnit.MONTHS)
println("Months between: $monthsBetween")

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

kotlinString "Months between: 11"

Пример

Вычислим количество лет между датами:

kotlinval start = LocalDate.parse("2020-05-10")
val end = LocalDate.parse("2025-05-10")
val yearsBetween = start.until(end, ChronoUnit.YEARS)
println("Years between: $yearsBetween")

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

kotlinString "Years between: 5"

Пример

Использование функции без указания единицы измерения (возвращает Period):

kotlinval firstDate = LocalDate.parse("2025-01-01")
val secondDate = LocalDate.parse("2025-12-31")
val period = firstDate.until(secondDate)
println("Period: $period")

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

kotlinString "Period: P11M30D"

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

  • функцию plusDays класса LocalDate,
    которая добавляет дни к дате
  • функцию minusDays класса LocalDate,
    которая вычитает дни из даты
  • функцию between класса Period,
    которая вычисляет период между двумя датами
  • класс ChronoUnit,
    который содержит единицы измерения времени