parse Iso String
Начиная с Kotlin: 1.6
fun parseIsoString(value: String): Duration
Разбирает строку, представляющую длительность в ограниченном составном формате ISO-8601, и возвращает разобранное значение Duration. Составной формат — это упрощённая версия формата длительности ISO-8601, поддерживающая отрицательные длительности и отрицательные значения отдельных компонентов.
Применяются следующие ограничения:
Единственным допустимым обозначением единицы, не относящейся ко времени, являются дни (
D).Y(годы),W(недели) иM(месяцы) не поддерживаются.Считается, что день длится ровно 24 часа (шкала времени с 24-часовым исчислением).
Альтернативное представление с использованием недель
["P"][number]["W"]не поддерживается.
Выбрасывает исключение
если строка не представляет длительность в формате ISO-8601.
Примеры
import kotlin.test.*
import kotlin.time.*
import kotlin.time.Duration.Companion.days
import kotlin.time.Duration.Companion.hours
import kotlin.time.Duration.Companion.microseconds
import kotlin.time.Duration.Companion.milliseconds
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.Duration.Companion.seconds
fun main() {
//sampleStart
val isoFormatString = "PT1H30M"
val defaultFormatString = "1h 30m"
println(Duration.parseIsoString(isoFormatString)) // 1h 30m
// Duration.parseIsoString(defaultFormatString) // will fail
println(Duration.parseIsoStringOrNull(defaultFormatString)) // null
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.time/-duration/-companion/parse-iso-string.html