Функция parse

Функция parse класса Duration преобразует строку в формате PnDTnHnMn.nS в объект Duration. В параметр мы передаем строку для преобразования, которая должна соответствовать стандарту ISO-8601 для длительностей.

Импорт

kotlinimport kotlin.time.Duration
import kotlin.time.Duration.Companion.parse

Синтаксис

kotlinfun parse(text: String): Duration
kotlinfun parse(text: String, strict: Boolean): Duration

Пример

Преобразуем строку "PT2H30M" в объект Duration:

kotlinval durationStr = "PT2H30M"
val duration = Duration.parse(durationStr)
println(duration)

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

kotlinString "2h 30m"

Пример

Преобразуем строку с дробными секундами "PT1.500S":

kotlinval durationStr = "PT1.500S"
val duration = Duration.parse(durationStr)
println(duration)

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

kotlinString "1.5s"

Пример

Используем строгий режим парсинга:

kotlinval durationStr = "PT2H30M"
val duration = Duration.parse(durationStr, true)
println(duration)

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

kotlinString "2h 30m"

Пример

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

kotlinval durationStr = "P1DT2H30M15S"
val duration = Duration.parse(durationStr)

val days = duration.inWholeDays
val hours = duration.inWholeHours % 24
val minutes = duration.inWholeMinutes % 60
val seconds = duration.inWholeSeconds % 60

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

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

kotlinString "Days: 1, Hours: 2, Minutes: 30, Seconds: 15"

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

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