Продолжительность
inline class Duration : Comparable<Duration>
Представляет количество времени между двумя моментами.
Отрицательная продолжительность возможна в ситуации, когда второй момент времени предшествует первому.
Тип может хранить значения продолжительности до ±146 лет с наносекундной точностью и до ±146 миллионов лет с миллисекундной точностью. Если операция, возвращающая продолжительность, предоставленная в kotlin.time, генерирует значение продолжительности, которое не укладывается в указанный диапазон, возвращаемое Duration является бесконечным.
Значение бесконечной продолжительности Duration.INFINITE может использоваться для представления бесконечных таймаутов.
Для создания продолжительности используйте либо функцию расширения toDuration, либо свойства расширения hours, minutes, seconds и т.д., доступные для числовых типов Int, Long и Double.
Для получения значения этой продолжительности, выраженной в определенных единицах измерения времени, используйте функции toInt, toLong, и toDouble или свойства inWholeHours, inWholeMinutes, inWholeSeconds, inWholeNanoseconds и т.д.
Свойства
absoluteValue
Возвращает абсолютное значение этого значения. Возвращаемое значение всегда неотрицательное.
val absoluteValue: Duration
inDays
Значение этой продолжительности, выраженное как число Double дней.
val inDays: Double
inHours
Значение этой продолжительности, выраженное как число Double часов.
val inHours: Double
inMicroseconds
Значение этой продолжительности, выраженное как число Double микросекунд.
val inMicroseconds: Double
inMilliseconds
Значение этой продолжительности, выраженное как число Double миллисекунд.
val inMilliseconds: Double
inMinutes
Значение этой продолжительности, выраженное как число Double минут.
val inMinutes: Double
inNanoseconds
Значение этой продолжительности, выраженное как число Double наносекунд.
val inNanoseconds: Double
inSeconds
Значение этой продолжительности, выраженное как число Double секунд.
val inSeconds: Double
inWholeDays
Значение этой продолжительности, выраженное как число Long дней.
val inWholeDays: Long
inWholeHours
Значение этой продолжительности, выраженное как число Long часов.
val inWholeHours: Long
inWholeMicroseconds
Значение этой продолжительности, выраженное как число Long микросекунд.
val inWholeMicroseconds: Long
inWholeMilliseconds
Значение этой продолжительности, выраженное как число Long миллисекунд.
val inWholeMilliseconds: Long
inWholeMinutes
Значение этой продолжительности, выраженное как число Long минут.
val inWholeMinutes: Long
inWholeNanoseconds
Значение этой продолжительности, выраженное как число Long наносекунд.
val inWholeNanoseconds: Long
inWholeSeconds
Значение этой продолжительности, выраженное как число Long секунд.
val inWholeSeconds: Long
Функции
compareTo
fun compareTo(other: Duration): Int
div
Возвращает продолжительность, значение которой равно значению этой продолжительности, деленному на заданное число scale.
operator fun div(scale: Int): Duration
operator fun div(scale: Double): Duration
Возвращает число, являющееся отношением значений этой и другой продолжительностей.
operator fun div(other: Duration): Double
isFinite
Возвращает true, если значение продолжительности конечно.
fun isFinite(): Boolean
isInfinite
Возвращает true, если значение продолжительности бесконечно.
fun isInfinite(): Boolean
isNegative
Возвращает true, если значение продолжительности меньше нуля.
fun isNegative(): Boolean
isPositive
Возвращает true, если значение продолжительности больше нуля.
fun isPositive(): Boolean
minus
Возвращает продолжительность, значение которой равно разнице между этой и другой продолжительностями.
operator fun minus(other: Duration): Duration
plus
Возвращает продолжительность, значение которой равно сумме этой и другой продолжительностей.
operator fun plus(other: Duration): Duration
times
Возвращает продолжительность, значение которой равно значению этой продолжительности, умноженному на заданное число scale.
operator fun times(scale: Int): Duration
operator fun times(scale: Double): Duration
toComponents
Разбивает эту продолжительность на дни, часы, минуты, секунды и наносекунды и выполняет заданное действие с этими компонентами. Результат действия возвращается в качестве результата этой функции.
fun <T> toComponents( action: (days: Long, hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
Разбивает эту продолжительность на часы, минуты, секунды и наносекунды и выполняет заданное действие с этими компонентами. Результат действия возвращается в качестве результата этой функции.
fun <T> toComponents( action: (hours: Long, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
toDouble
toInt
toIsoString
Возвращает строковое представление этой продолжительности в формате ISO-8601.
fun toIsoString(): String
toLongMilliseconds
Возвращает значение этого интервала времени, выраженное в миллисекундах как число типа Long.
fun toLongMilliseconds(): Long
toLongNanoseconds
Возвращает значение этого интервала времени, выраженное в наносекундах как число типа Long.
fun toLongNanoseconds(): Long
toString
Возвращает строковое представление значения этого интервала времени, выраженное комбинацией числовых компонентов, каждый в своей единице измерения.
fun toString(): String
Возвращает строковое представление значения этого интервала времени, выраженного в заданной единице измерения и отформатированное с указанным количеством десятичных знаков после запятой.
fun toString(unit: DurationUnit, decimals: Int = 0): String
unaryMinus
Возвращает отрицательное значение этого значения.
operator fun unaryMinus(): Duration
Свойства объекта-компаньона
дни
часы
БЕСКОНЕЧНО
Длительность с положительной бесконечностью. Полезно для представления тайм-аутов, которые никогда не должны истекать.
val INFINITE: Duration
микросекунды
Возвращает Duration, равный числу микросекунд, заданному этим значением Int.
val Int.microseconds: <ERROR CLASS>
миллисекунды
Возвращает Duration, равный числу миллисекунд, заданному этим значением Int.
val Int.milliseconds: <ERROR CLASS>
наносекунды
Возвращает Duration, равный числу наносекунд, заданному этим значением Int.
val Int.nanoseconds: <ERROR CLASS>
секунды
Возвращает Duration, равный числу секунд, заданному этим значением Int.
val Int.seconds: <ERROR CLASS>
НОЛЬ
Длительность, равная ровно 0 секундам.
val ZERO: Duration
Функции компаньон-объекта
convert
Преобразует заданную длительность времени значение, выраженную в указанной единице измерения, в указанную единицу измерения.
fun convert( value: Double, sourceUnit: DurationUnit, targetUnit: DurationUnit ): Double
days
hours
microseconds
milliseconds
minutes
nanoseconds
parse
Парсит строку, представляющую длительность, и возвращает значение Duration.
fun parse(value: String): Duration
parseIsoString
Парсит строку, представляющую длительность в ограниченном формате ISO-8601 и возвращает значение Duration. Композиционный формат — это расширенный вариант формата ISO-8601 длительности, который поддерживает отрицательные длительности и отрицательные значения отдельных компонентов.
fun parseIsoString(value: String): Duration
parseIsoStringOrNull
Парсит строку, представляющую длительность в ограниченном формате ISO-8601, и возвращает значение Duration или null , если строка не представляет длительность в формате, допустимом для parseIsoString.
fun parseIsoStringOrNull(value: String): Duration?
parseOrNull
Парсит строку, представляющую длительность, и возвращает значение Duration, или null , если строка не представляет длительность в поддерживаемом формате.
fun parseOrNull(value: String): Duration?
Функции расширения
coerceAtLeast
Обеспечивает, что это значение не меньше указанного минимального значения.
fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
coerceAtMost
Обеспечивает, что это значение не больше указанного максимального значения.
fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
coerceIn
Обеспечивает, что это значение находится в указанном диапазоне минимальное значение..максимальное значение.
fun <T : Comparable<T>> T.coerceIn( minimumValue: T?, maximumValue: T? ): T
Обеспечивает, что это значение находится в указанном диапазоне.
fun <T : Comparable<T>> T.coerceIn( range: ClosedFloatingPointRange<T> ): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
compareTo
rangeTo
Создаёт диапазон от этого Comparable значения до указанного значения.
operator fun <T : Comparable<T>> T.rangeTo( that: T ): ClosedRange<T>
rangeUntil
Создаёт открытый диапазон от этого Comparable значения до указанного значения.
operator fun <T : Comparable<T>> T.rangeUntil( that: T ): OpenEndRange<T>
toJavaDuration
Преобразует значение kotlin.time.Duration в значение java.time.Duration.
fun Duration.toJavaDuration(): Duration
© 2010–2023 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.time/-duration/