Duration
@ExperimentalTime inline class Duration : Comparable<Duration>
Represents the amount of time one instant of time is away from another instant.
A negative duration is possible in a situation when the second instant is earlier than the first one. An infinite duration value Duration.INFINITE can be used to represent infinite timeouts.
To construct a duration use either the extension function toDuration, or the extension properties hours, minutes, seconds, and so on, available on Int, Long, and Double numeric types.
To get the value of this duration expressed in a particular duration units use the functions toInt, toLong, and toDouble or the properties inHours, inMinutes, inSeconds, inNanoseconds, and so on.
Properties
absoluteValue
Returns the absolute value of this value. The returned value is always non-negative.
val absoluteValue: Duration
inDays
The value of this duration expressed as a Double number of days.
val inDays: Double
inHours
The value of this duration expressed as a Double number of hours.
val inHours: Double
inMicroseconds
The value of this duration expressed as a Double number of microseconds.
val inMicroseconds: Double
inMilliseconds
The value of this duration expressed as a Double number of milliseconds.
val inMilliseconds: Double
inMinutes
The value of this duration expressed as a Double number of minutes.
val inMinutes: Double
inNanoseconds
The value of this duration expressed as a Double number of nanoseconds.
val inNanoseconds: Double
Functions
compareTo
fun compareTo(other: Duration): Int
div
Returns a duration whose value is this duration value divided by the given scale number.
operator fun div(scale: Int): Duration
operator fun div(scale: Double): Duration
Returns a number that is the ratio of this and other duration values.
operator fun div(other: Duration): Double
isFinite
Returns true, if the duration value is finite.
fun isFinite(): Boolean
isInfinite
Returns true, if the duration value is infinite.
fun isInfinite(): Boolean
isNegative
Returns true, if the duration value is less than zero.
fun isNegative(): Boolean
isPositive
Returns true, if the duration value is greater than zero.
fun isPositive(): Boolean
minus
Returns a duration whose value is the difference between this and other duration values.
operator fun minus(other: Duration): Duration
plus
Returns a duration whose value is the sum of this and other duration values.
operator fun plus(other: Duration): Duration
times
Returns a duration whose value is this duration value multiplied by the given scale number.
operator fun times(scale: Int): Duration
operator fun times(scale: Double): Duration
toComponents
Splits this duration into days, hours, minutes, seconds, and nanoseconds and executes the given action with these components. The result of action is returned as the result of this function.
fun <T> toComponents( action: (days: Int, hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
Splits this duration into hours, minutes, seconds, and nanoseconds and executes the given action with these components. The result of action is returned as the result of this function.
fun <T> toComponents( action: (hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T ): T
toDouble
toInt
toIsoString
Returns an ISO-8601 based string representation of this duration.
fun toIsoString(): String
toLong
toLongMilliseconds
Returns the value of this duration expressed as a Long number of milliseconds.
fun toLongMilliseconds(): Long
toLongNanoseconds
Returns the value of this duration expressed as a Long number of nanoseconds.
fun toLongNanoseconds(): Long
toString
Returns a string representation of this duration value expressed in the unit which yields the most compact and readable number value.
fun toString(): String
unaryMinus
Returns the negative of this value.
operator fun unaryMinus(): Duration
Companion Object Properties
INFINITE
The duration whose value is positive infinity. It is useful for representing timeouts that should never expire.
val INFINITE: Duration
ZERO
The duration equal to exactly 0 seconds.
val ZERO: Duration
Companion Object Functions
convert
Converts the given time duration value expressed in the specified sourceUnit into the specified targetUnit.
fun convert( value: Double, sourceUnit: DurationUnit, targetUnit: DurationUnit ): Double
Extension Functions
coerceAtLeast
Ensures that this value is not less than the specified minimumValue.
fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
coerceAtMost
Ensures that this value is not greater than the specified maximumValue.
fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
coerceIn
Ensures that this value lies in the specified range minimumValue..maximumValue.
fun <T : Comparable<T>> T.coerceIn( minimumValue: T?, maximumValue: T? ): T
Ensures that this value lies in the specified range.
fun <T : Comparable<T>> T.coerceIn( range: ClosedFloatingPointRange<T> ): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
rangeTo
Creates a range from this Comparable value to the specified that value.
operator fun <T : Comparable<T>> T.rangeTo( that: T ): ClosedRange<T>
toJavaDuration
Converts kotlin.time.Duration value to java.time.Duration value.
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