//core/io.islandtime.measures/Duration
Duration¶
common
class Duration : Comparable<Duration>
A duration of time at nanosecond precision.
For many applications, working with specific units like Hours or Seconds is more efficient and plenty adequate. However, when working with larger durations at sub-second precision, overflow is a very real possibility. Duration
is capable of representing fixed, nanosecond-precision durations that span the entire supported time scale, making it more suitable for these use cases.
Types¶
Name | Summary |
---|---|
Companion | common object Companion |
Functions¶
Name | Summary |
---|---|
compareTo | common open operator override fun compareTo(other: Duration): Int |
div | common operator fun div(scalar: Int): Duration Divides this duration by a scalar value. |
equals | common open operator override fun equals(other: Any?): Boolean |
hashCode | common open override fun hashCode(): Int |
isNegative | common fun isNegative(): Boolean Checks if this duration is negative. |
isPositive | common fun isPositive(): Boolean Checks if this duration is positive. |
isZero | common fun isZero(): Boolean Checks if this duration is zero. |
minus | common operator fun minus(days: Days): Duration operator fun minus(other: Duration): Duration operator fun minus(hours: Hours): Duration operator fun minus(microseconds: Microseconds): Duration operator fun minus(milliseconds: Milliseconds): Duration operator fun minus(minutes: Minutes): Duration operator fun minus(nanoseconds: Nanoseconds): Duration operator fun minus(seconds: Seconds): Duration |
plus | common operator fun plus(days: Days): Duration operator fun plus(other: Duration): Duration operator fun plus(hours: Hours): Duration operator fun plus(microseconds: Microseconds): Duration operator fun plus(milliseconds: Milliseconds): Duration operator fun plus(minutes: Minutes): Duration operator fun plus(nanoseconds: Nanoseconds): Duration operator fun plus(seconds: Seconds): Duration |
times | common operator fun times(scalar: Int): Duration Multiples this duration by a scalar value. |
toComponents | common inline fun <T> toComponents(action: (seconds: Seconds, nanoseconds: Nanoseconds) -> T): T inline fun <T> toComponents(action: (minutes: Minutes, seconds: Seconds, nanoseconds: Nanoseconds) -> T): T inline fun <T> toComponents(action: (hours: Hours, minutes: Minutes, seconds: Seconds, nanoseconds: Nanoseconds) -> T): T Breaks this duration down into individual unit components. common inline fun <T> toComponents(action: (days: Days, hours: Hours, minutes: Minutes, seconds: Seconds, nanoseconds: Nanoseconds) -> T): T Breaks this duration down into individual unit components, assuming a 24-hour day length. |
toComponentValues | common inline fun <T> toComponentValues(action: (seconds: Long, nanoseconds: Int) -> T): T inline fun <T> toComponentValues(action: (minutes: Long, seconds: Int, nanoseconds: Int) -> T): T inline fun <T> toComponentValues(action: (hours: Long, minutes: Int, seconds: Int, nanoseconds: Int) -> T): T Breaks this duration down into individual unit components. common inline fun <T> toComponentValues(action: (days: Long, hours: Int, minutes: Int, seconds: Int, nanoseconds: Int) -> T): T Breaks this duration down into individual unit components, assuming a 24-hour day length. |
toKotlinDuration | common fun toKotlinDuration(): Duration Converts this duration to a kotlin.time.Duration. Since Kotlin's Duration type is based on a floating-point number, precision may be lost. |
toString | common open override fun toString(): String |
truncatedTo | common fun truncatedTo(unit: TimeUnit): Duration Returns this duration, rounded down to match the precision of a given unit. |
unaryMinus | common operator fun unaryMinus(): Duration |
Properties¶
Name | Summary |
---|---|
absoluteValue | common val absoluteValue: Duration The absolute value of this duration. |
inDays | common val inDays: Days Converts this duration into the number of 24-hour days represented by it. |
inHours | common val inHours: Hours Converts this duration into the number of whole hours represented by it. |
inMicroseconds | common val inMicroseconds: Microseconds Converts this duration into the number of whole microseconds represented by it. |
inMilliseconds | common val inMilliseconds: Milliseconds Converts this duration into the number of whole milliseconds represented by it. |
inMinutes | common val inMinutes: Minutes Converts this duration into the number of whole minutes represented by it. |
inNanoseconds | common val inNanoseconds: Nanoseconds Converts this duration into Nanoseconds. |
inSeconds | common val inSeconds: Seconds Returns the number of whole seconds in this duration. |
nanosecondAdjustment | common val nanosecondAdjustment: Nanoseconds |
seconds | common val seconds: Seconds |
Extensions¶
Name | Summary |
---|---|
toJavaDuration | jvm fun Duration.toJavaDuration(): Duration Converts this duration to an equivalent Java Duration . |
toNSTimeInterval | darwin fun Duration.toNSTimeInterval(): <ERROR CLASS> Converts this duration to an equivalent NSTimeInterval . |