Функция between

Функция between класса Duration вычисляет длительность между двумя объектами, реализующими интерфейс Temporal. В первый параметр мы передаем начальную временную точку, во второй параметр - конечную временную точку.

Импорт

kotlinimport java.time.Duration
import java.time.LocalDateTime

Синтаксис

kotlinstatic Duration between(Temporal startInclusive, Temporal endExclusive)

Пример

Вычислим длительность между двумя объектами LocalDateTime:

kotlinval start = LocalDateTime.of(2025, 1, 1, 10, 0, 0)
val end = LocalDateTime.of(2025, 1, 1, 14, 30, 0)
val duration = Duration.between(start, end)

println("Duration: $duration")

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

kotlinString "Duration: PT4H30M"

Пример

Получим отдельные компоненты длительности:

kotlinval start = LocalDateTime.of(2025, 1, 1, 9, 0, 0)
val end = LocalDateTime.of(2025, 1, 1, 12, 45, 30)
val duration = Duration.between(start, end)

val hours = duration.toHours()
val minutes = duration.toMinutes() % 60
val seconds = duration.seconds % 60

println("Hours: $hours, Minutes: $minutes, Seconds: $seconds")

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

kotlinString "Hours: 3, Minutes: 45, Seconds: 30"

Пример

Вычислим длительность между временем начала и окончания рабочего дня:

kotlinval workStart = LocalDateTime.of(2025, 3, 15, 9, 0, 0)
val workEnd = LocalDateTime.of(2025, 3, 15, 18, 0, 0)
val workDuration = Duration.between(workStart, workEnd)

val workHours = workDuration.toHours()
println("Work hours: $workHours")

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

kotlinString "Work hours: 9"

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

  • функцию ofHours класса Duration,
    которая создает длительность из указанного количества часов
  • функцию toHours класса Duration,
    которая преобразует длительность в количество часов
  • функцию between класса Period,
    которая вычисляет период между двумя датами
  • класс LocalDateTime,
    который представляет дату и время