core / io.islandtime.measures / Duration

Duration

(iosArm64, iosX64, jvm, macosX64) class Duration : Comparable<Duration>

A duration of time at nanosecond precision.

For many applications, working with specific units like IntHours or LongSeconds 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.

Properties

(iosArm64, iosX64, jvm, macosX64)

absoluteValue

Get the absolute value of this duration.

val absoluteValue: Duration
(iosArm64, iosX64, jvm, macosX64)

inDays

Convert this duration into the number of 24-hour days represented by it.

val inDays: LongDays
(iosArm64, iosX64, jvm, macosX64)

inHours

Convert this duration into the number of whole hours represented by it.

val inHours: LongHours
(iosArm64, iosX64, jvm, macosX64)

inMicroseconds

Convert this duration into the number of whole microseconds represented by it.

val inMicroseconds: LongMicroseconds
(iosArm64, iosX64, jvm, macosX64)

inMilliseconds

Convert this duration into the number of whole milliseconds represented by it.

val inMilliseconds: LongMilliseconds
(iosArm64, iosX64, jvm, macosX64)

inMinutes

Convert this duration into the number of whole minutes represented by it.

val inMinutes: LongMinutes
(iosArm64, iosX64, jvm, macosX64)

inNanoseconds

Convert this duration into LongNanoseconds.

val inNanoseconds: LongNanoseconds
(iosArm64, iosX64, jvm, macosX64)

inSeconds

Return the number of whole seconds in this duration.

val inSeconds: LongSeconds
(iosArm64, iosX64, jvm, macosX64)

nanosecondAdjustment

val nanosecondAdjustment: IntNanoseconds
(iosArm64, iosX64, jvm, macosX64)

seconds

val seconds: LongSeconds

Functions

(iosArm64, iosX64, jvm, macosX64)

compareTo

fun compareTo(other: Duration): Int
(iosArm64, iosX64, jvm, macosX64)

div

operator fun div(scalar: Int): Duration
(iosArm64, iosX64, jvm, macosX64)

equals

fun equals(other: Any?): Boolean
(iosArm64, iosX64, jvm, macosX64)

hashCode

fun hashCode(): Int
(iosArm64, iosX64, jvm, macosX64)

isNegative

Is this duration negative?

fun isNegative(): Boolean
(iosArm64, iosX64, jvm, macosX64)

isPositive

Is this duration positive?

fun isPositive(): Boolean
(iosArm64, iosX64, jvm, macosX64)

isZero

Is this duration zero?

fun isZero(): Boolean
(iosArm64, iosX64, jvm, macosX64)

minus

operator fun minus(other: Duration): Duration
operator fun minus(days: IntDays): Duration
operator fun minus(days: LongDays): Duration
operator fun minus(hours: IntHours): Duration
operator fun minus(hours: LongHours): Duration
operator fun minus(minutes: IntMinutes): Duration
operator fun minus(minutes: LongMinutes): Duration
operator fun minus(seconds: IntSeconds): Duration
operator fun minus(seconds: LongSeconds): Duration
operator fun minus(milliseconds: IntMilliseconds): Duration
operator fun minus(milliseconds: LongMilliseconds): Duration
operator fun minus(microseconds: IntMicroseconds): Duration
operator fun minus(microseconds: LongMicroseconds): Duration
operator fun minus(nanoseconds: IntNanoseconds): Duration
operator fun minus(nanoseconds: LongNanoseconds): Duration
(iosArm64, iosX64, jvm, macosX64)

plus

operator fun plus(other: Duration): Duration
operator fun plus(days: IntDays): Duration
operator fun plus(days: LongDays): Duration
operator fun plus(hours: IntHours): Duration
operator fun plus(hours: LongHours): Duration
operator fun plus(minutes: IntMinutes): Duration
operator fun plus(minutes: LongMinutes): Duration
operator fun plus(seconds: IntSeconds): Duration
operator fun plus(seconds: LongSeconds): Duration
operator fun plus(milliseconds: IntMilliseconds): Duration
operator fun plus(milliseconds: LongMilliseconds): Duration
operator fun plus(microseconds: IntMicroseconds): Duration
operator fun plus(microseconds: LongMicroseconds): Duration
operator fun plus(nanoseconds: IntNanoseconds): Duration
operator fun plus(nanoseconds: LongNanoseconds): Duration
(iosArm64, iosX64, jvm, macosX64)

times

operator fun times(scalar: Int): Duration
(iosArm64, iosX64, jvm, macosX64)

toComponents

Break this duration down into individual unit components, assuming a 24-hour day length.

fun <T> toComponents(action: (days: LongDays, hours: IntHours, minutes: IntMinutes, seconds: IntSeconds, nanoseconds: IntNanoseconds) -> T): T

Break this duration down into individual unit components.

fun <T> toComponents(action: (hours: LongHours, minutes: IntMinutes, seconds: IntSeconds, nanoseconds: IntNanoseconds) -> T): T
fun <T> toComponents(action: (minutes: LongMinutes, seconds: IntSeconds, nanoseconds: IntNanoseconds) -> T): T
fun <T> toComponents(action: (seconds: LongSeconds, nanoseconds: IntNanoseconds) -> T): T
(iosArm64, iosX64, jvm, macosX64)

toString

fun toString(): String
(iosArm64, iosX64, jvm, macosX64)

truncatedToDays

Return this duration truncated to the number of 24-hour days.

fun truncatedToDays(): Duration
(iosArm64, iosX64, jvm, macosX64)

truncatedToHours

Return this duration truncated to the number of whole hours.

fun truncatedToHours(): Duration
(iosArm64, iosX64, jvm, macosX64)

truncatedToMicroseconds

Return this duration truncated to the number of whole microseconds.

fun truncatedToMicroseconds(): Duration
(iosArm64, iosX64, jvm, macosX64)

truncatedToMilliseconds

Return this duration truncated to the number of whole milliseconds.

fun truncatedToMilliseconds(): Duration
(iosArm64, iosX64, jvm, macosX64)

truncatedToMinutes

Return this duration truncated to the number of whole minutes.

fun truncatedToMinutes(): Duration
(iosArm64, iosX64, jvm, macosX64)

truncatedToSeconds

Return this duration truncated to the number of whole seconds.

fun truncatedToSeconds(): Duration
(iosArm64, iosX64, jvm, macosX64)

unaryMinus

operator fun unaryMinus(): Duration

Companion Object Properties

(iosArm64, iosX64, jvm, macosX64)

MAX

val MAX: Duration
(iosArm64, iosX64, jvm, macosX64)

MIN

val MIN: Duration
(iosArm64, iosX64, jvm, macosX64)

ZERO

val ZERO: Duration

Extension Functions

(jvm)

toJavaDuration

fun Duration.toJavaDuration(): Duration