parse
Начиная с Kotlin: 2.3
fun parse(input: CharSequence): Instant
Разбирает строку в формате ISO 8601, представляющую момент времени (например, 2020-08-30T18:43:00Z).
Гарантированно разбирает все строки, которые возвращает Instant.toString.
Примеры моментов времени в формате ISO 8601:
2020-08-30T18:43:00Z2020-08-30T18:43:00.50Z2020-08-30T18:43:00.123456789Z2020-08-30T18:40:00+03:002020-08-30T18:40:00+03:30:20
2020-01-01T23:59:59.123456789+01+12020-01-31T23:59:59Z
См. ISO-8601-1:2019, 5.4.2.1b), за исключением формата без смещения.
Считается, что строка представляет время по шкале времени UTC-SLS, а не UTC. На практике это означает, что даже если в указанный день есть високосная секунда, она не повлияет на разбор времени, даже если это происходит в течение последних 1000 секунд дня. И наоборот, даже если в указанный день есть отрицательная високосная секунда, 23:59:59 всё равно считается допустимым временем. 23:59:60 недопустимо в UTC-SLS, поэтому его разбор завершится ошибкой.
См. также
версию этой функции, которая при ошибке возвращает null.
для форматирования.
Исключения
если текст невозможно разобрать или превышены границы Instant.
Примеры
import kotlin.test.*
import kotlin.time.*
import kotlin.time.Duration.Companion.hours
import kotlin.time.Duration.Companion.nanoseconds
import kotlin.time.Duration.Companion.seconds
fun main() {
//sampleStart
// Parsing a string that represents the Unix epoch.
val unixEpochInstant = Instant.parse("1970-01-01T00:00:00Z")
println(unixEpochInstant.epochSeconds) // 0
// Parsing an ISO 8601 string with a time zone offset.
val instant = Instant.parse("2020-08-30T18:40:00+03:00")
// Instants are presented in the UTC time zone when converted to string.
println(instant.toString()) // 2020-08-30T15:40:00Z
//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/-instant/-companion/parse.html