core / io.islandtime.ranges / InstantInterval

InstantInterval

(iosArm64, iosX64, jvm, macosX64) class InstantInterval : TimePointInterval<Instant>, TimePointProgressionBuilder<Instant>

A half-open interval between two instants.

Instant.MIN and Instant.MAX are used as sentinels to indicate an unbounded (ie. infinite) start or end.

Constructors

(iosArm64, iosX64, jvm, macosX64)

<init>

A half-open interval between two instants.

<init>(start: Instant = Instant.MIN, endExclusive: Instant = Instant.MAX)

Properties

(iosArm64, iosX64, jvm, macosX64)

first

val first: Instant
(iosArm64, iosX64, jvm, macosX64)

last

val last: Instant

Functions

(iosArm64, iosX64, jvm, macosX64)

hasUnboundedEnd

Check if the interval's end is unbounded. In ISO-8601 terminology, this is an "open" end.

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

hasUnboundedStart

Check if the interval's start is unbounded. In ISO-8601 terminology, this is an "open" start.

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

toString

Convert this interval to a string in ISO-8601 extended format.

fun toString(): String

Companion Object Properties

(iosArm64, iosX64, jvm, macosX64)

EMPTY

An empty interval.

val EMPTY: InstantInterval
(iosArm64, iosX64, jvm, macosX64)

UNBOUNDED

An unbounded (ie. infinite) interval.

val UNBOUNDED: InstantInterval

Extension Functions

(jvm)

random

Return a random instant within the interval using the supplied random number generator.

fun InstantInterval.random(random: Random): Instant