Длительность
@ExperimentalTime inline class Duration : Comparable<Duration>
Представляет количество времени между двумя моментами времени.
Отрицательная длительность возможна в ситуации, когда второй момент времени предшествует первому. Значение бесконечной длительности Duration.INFINITE может использоваться для представления бесконечных таймаутов.
Для создания длительности используйте функцию-расширение toDuration или свойства-расширения hours, minutes, seconds и так далее, доступные для числовых типов Int, Long и Double.
Для получения значения этой длительности, выраженной в определённых единицах измерения длительности, используйте функции toInt, toLong и toDouble, или свойства inHours, inMinutes, inSeconds, inNanoseconds и так далее.
Свойства
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
Функции
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
Разделяет эту продолжительность на дни, часы, минуты, секунды и наносекунды и выполняет заданное действие с этими компонентами. Результат действия возвращается в качестве результата этой функции.
fun <T> toComponents( action: (days: Int, hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
Разделяет эту продолжительность на часы, минуты, секунды и наносекунды и выполняет заданное действие с этими компонентами. Результат действия возвращается в качестве результата этой функции.
fun <T> toComponents( action: (hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
toDouble
Возвращает значение этой продолжительности, выраженное как число Double в указанной единице измерения.
fun toDouble(unit: DurationUnit): Double
toInt
Возвращает значение этой продолжительности, выраженное как число Int в указанной единице измерения.
fun toInt(unit: DurationUnit): Int
toIsoString
Возвращает строковое представление этой продолжительности в формате ISO-8601.
fun toIsoString(): String
toLong
Возвращает значение этой продолжительности, выраженное как число Long в указанной единице измерения.
fun toLong(unit: DurationUnit): Long
toLongMilliseconds
Возвращает значение этого интервала времени, выраженное как целое число миллисекунд.
fun toLongMilliseconds(): Long
toLongNanoseconds
Возвращает значение этого интервала времени, выраженное как целое число наносекунд.
fun toLongNanoseconds(): Long
toString
Возвращает строковое представление значения этого интервала времени, выраженное в единицах измерения, которые дают самое компактное и читаемое числовое значение.
fun toString(): String
Возвращает строковое представление значения этого интервала времени, выраженного в заданных единицах и отформатированного с указанным количеством десятичных знаков после запятой.
fun toString(unit: DurationUnit, decimals: Int = 0): String
unaryMinus
Возвращает отрицательное значение этого значения.
operator fun unaryMinus(): Duration
Свойства объекта-компаньона
INFINITE
Интервал времени, значение которого равно положительной бесконечности. Полезно для представления таймаутов, которые никогда не должны истекать.
val INFINITE: Duration
ZERO
Интервал времени, равный ровно 0 секундам.
val ZERO: Duration
Функции объекта-компаньона
convert
Преобразует заданный интервал времени значение, выраженное в указанных единицах измерения, в указанные единицы измерения.
fun convert( value: Double, sourceUnit: DurationUnit, targetUnit: DurationUnit ): Double
Расширяющие функции
coerceAtLeast
Обеспечивает, что это значение не меньше указанного минимального значения.
fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
coerceAtMost
Обеспечивает, что это значение не больше указанного максимального значения.
fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
coerceIn
Обеспечивает, что это значение находится в заданном диапазоне minimumValue..maximumValue.
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
rangeTo
Создаёт диапазон от этого значения Comparable до указанного значения that.
operator fun <T : Comparable<T>> T.rangeTo( that: T ): ClosedRange<T>
toJavaDuration
Преобразует значение kotlin.time.Duration в значение java.time.Duration.
fun Duration.toJavaDuration(): Duration
© 2010–2020 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/index.html