Spec-Zone.ru › Kotlin 2

parse

kotlin-stdlib/kotlin.time/Instant/Companion/parse

Начиная с Kotlin: 2.3

fun parse(input: CharSequence): Instant

Разбирает строку в формате ISO 8601, представляющую момент времени (например, 2020-08-30T18:43:00Z).

Гарантированно разбирает все строки, которые возвращает Instant.toString.

Примеры моментов времени в формате ISO 8601:

  • 2020-08-30T18:43:00Z

  • 2020-08-30T18:43:00.50Z

  • 2020-08-30T18:43:00.123456789Z

  • 2020-08-30T18:40:00+03:00

  • 2020-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, поэтому его разбор завершится ошибкой.

См. также

Instant.parseOrNull

версию этой функции, которая при ошибке возвращает null.

Instant.toString

для форматирования.

Исключения

IllegalArgumentException

если текст невозможно разобрать или превышены границы 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API