//core/io.islandtime.ranges/InstantInterval
InstantInterval¶
common
class InstantInterval(start: Instant, endExclusive: Instant) : 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¶
InstantInterval | common fun InstantInterval(start: Instant = Instant.MIN, endExclusive: Instant = Instant.MAX) |
Types¶
Name | Summary |
---|---|
Companion | common object Companion |
Functions¶
Name | Summary |
---|---|
contains | common open operator override fun contains(value: Instant): Boolean Checks if this interval contains value. |
equals | common open operator override fun equals(other: Any?): Boolean |
hasBoundedEnd | common open fun hasBoundedEnd(): Boolean Checks if this interval's end is bounded, meaning it has a finite value. |
hasBoundedStart | common open fun hasBoundedStart(): Boolean Checks if this interval's start is bounded, meaning it has a finite value. |
hashCode | common open override fun hashCode(): Int |
hasUnboundedEnd | common open override fun hasUnboundedEnd(): Boolean Checks if this interval's end is unbounded. In ISO-8601 terminology, this is an "open" end. |
hasUnboundedStart | common open override fun hasUnboundedStart(): Boolean Checks if this interval's start is unbounded. In ISO-8601 terminology, this is an "open" start. |
isBounded | common open fun isBounded(): Boolean Checks if both the start and end of this interval are bounded, meaning it has a finite range. |
isEmpty | common open override fun isEmpty(): Boolean Checks if this interval is empty. |
isUnbounded | common open fun isUnbounded(): Boolean Checks if both the start and end of this interval are unbounded, meaning this is an infinite time period in both directions. |
toString | common open override fun toString(): String Converts this interval to a string in ISO-8601 extended format. |
Properties¶
Name | Summary |
---|---|
endExclusive | common open override val endExclusive: Instant The end of this interval, exclusive. |
endInclusive | common open override val endInclusive: Instant The end of this interval, inclusive. |
first | common open override val first: Instant |
last | common open override val last: Instant |
start | common open override val start: Instant The start of this interval, inclusive. |
Extensions¶
Name | Summary |
---|---|
at | common infix fun InstantInterval.at(zone: TimeZone): ZonedDateTimeInterval Combines this InstantInterval with a TimeZone to create an equivalent ZonedDateTimeInterval where both endpoints are in zone. |
random | common fun InstantInterval.random(): Instant Returns a random date within this interval using the default random number generator. common fun InstantInterval.random(random: Random): Instant Returns a random date within this interval using the supplied random number generator. |
randomOrNull | common fun InstantInterval.randomOrNull(): Instant? Returns a random date within this interval using the default random number generator or null if the interval is empty or unbounded.common fun InstantInterval.randomOrNull(random: Random): Instant? Returns a random date within this interval using the supplied random number generator or null if the interval is empty or unbounded. |
toDateRangeAt | common fun InstantInterval.toDateRangeAt(zone: TimeZone): DateRange Converts this interval to the equivalent DateRange when both endpoints are in zone. |
toDateTimeIntervalAt | common fun InstantInterval.toDateTimeIntervalAt(zone: TimeZone): DateTimeInterval Converts this interval to the equivalent DateTimeInterval when both endpoints are in zone. |