Функция parse
Функция parse класса Duration преобразует строку в формате PnDTnHnMn.nS в объект Duration.
В параметр мы передаем строку для преобразования, которая должна соответствовать стандарту ISO-8601 для длительностей.
Импорт
import kotlin.time.Duration
import kotlin.time.Duration.Companion.parse
Синтаксис
fun parse(text: String): Duration
fun parse(text: String, strict: Boolean): Duration
Пример
Преобразуем строку "PT2H30M" в объект Duration:
val durationStr = "PT2H30M"
val duration = Duration.parse(durationStr)
println(duration)
Результат выполнения кода:
String "2h 30m"
Пример
Преобразуем строку с дробными секундами "PT1.500S":
val durationStr = "PT1.500S"
val duration = Duration.parse(durationStr)
println(duration)
Результат выполнения кода:
String "1.5s"
Пример
Используем строгий режим парсинга:
val durationStr = "PT2H30M"
val duration = Duration.parse(durationStr, true)
println(duration)
Результат выполнения кода:
String "2h 30m"
Пример
Получим компоненты длительности после парсинга:
val 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")
Результат выполнения кода:
String "Days: 1, Hours: 2, Minutes: 30, Seconds: 15"