Продолжительность
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
Возвращает число, являющееся отношением значений этой и продолжительности other.
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
Возвращает продолжительность, значение которой равно разнице между этой и продолжительностью other.
operator fun minus(other: Duration): Duration
plus
Возвращает продолжительность, значение которой равно сумме этой и продолжительности other.
operator fun plus(other: Duration): Duration
times
Возвращает продолжительность, значение которой равно значению этой продолжительности, умноженному на заданное число scale.
operator fun times(scale: Int): Duration
operator fun times(scale: Double): Duration
toComponents
Разделяет эту продолжительность на дни, часы, минуты, секунды и наносекунды и выполняет заданное действие action с этими компонентами. Результат выполнения action возвращается в качестве результата этой функции.
fun <T> toComponents( action: (days: Long, hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
Разделяет эту продолжительность на часы, минуты, секунды и наносекунды и выполняет заданное действие action с этими компонентами. Результат выполнения action возвращается в качестве результата этой функции.
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>
секунды
НОЛЬ
Продолжительность, равная ровно 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–2022 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/