//core/io.islandtime.ranges/OffsetDateTimeInterval
OffsetDateTimeInterval¶
common
class OffsetDateTimeInterval(start: OffsetDateTime, endExclusive: OffsetDateTime) : TimePointInterval<OffsetDateTime>
A half-open interval between two offset date-times based on timeline order.
DateTime.MIN and DateTime.MAX are used as sentinels to indicate an unbounded (ie. infinite) start or end. An OffsetDateTime with either as the date-time component will be treated accordingly, regardless of the offset.
Constructors¶
OffsetDateTimeInterval | common fun OffsetDateTimeInterval(start: OffsetDateTime = UNBOUNDED.start, endExclusive: OffsetDateTime = UNBOUNDED.endExclusive) |
Types¶
Name | Summary |
---|---|
Companion | common object Companion |
Functions¶
Name | Summary |
---|---|
contains | common open operator override fun contains(value: OffsetDateTime): 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: OffsetDateTime The end of this interval, exclusive. |
endInclusive | common open override val endInclusive: OffsetDateTime The end of this interval, inclusive. |
start | common open override val start: OffsetDateTime The start of this interval, inclusive. |
Extensions¶
Name | Summary |
---|---|
asZonedDateTimeInterval | common fun OffsetDateTimeInterval.asZonedDateTimeInterval(): ZonedDateTimeInterval Converts this interval to an equivalent ZonedDateTimeInterval where both endpoints are given a fixed-offset time zone. |
lengthInCenturies | common val OffsetDateTimeInterval.lengthInCenturies: Centuries The number of whole centuries between the start and end of this interval. |
lengthInDays | common val OffsetDateTimeInterval.lengthInDays: Days The number of whole days between the start and end of this interval. |
lengthInDecades | common val OffsetDateTimeInterval.lengthInDecades: Decades The number of whole decades between the start and end of this interval. |
lengthInMonths | common val OffsetDateTimeInterval.lengthInMonths: Months The number of whole months between the start and end of this interval. |
lengthInWeeks | common val OffsetDateTimeInterval.lengthInWeeks: Weeks The number of whole weeks between the start and end of this interval. |
lengthInYears | common val OffsetDateTimeInterval.lengthInYears: Years The number of whole years between the start and end of this interval. |
random | common fun OffsetDateTimeInterval.random(): OffsetDateTime Returns a random date within this interval using the default random number generator. The offset of the start date-time will be used. common fun OffsetDateTimeInterval.random(random: Random): OffsetDateTime Returns a random date within this interval using the supplied random number generator. The offset of the start date-time will be used. |
randomOrNull | common fun OffsetDateTimeInterval.randomOrNull(): OffsetDateTime? Returns a random date within this interval using the default random number generator or null if the interval is empty or unbounded. The offset of the start date-time will be used.common fun OffsetDateTimeInterval.randomOrNull(random: Random): OffsetDateTime? Returns a random date within this interval using the supplied random number generator or null if the interval is empty or unbounded. The offset of the start date-time will be used. |
toDateRange | common fun OffsetDateTimeInterval.toDateRange(): DateRange Returns this interval with the precision reduced to just the date. |
toDateTimeInterval | common fun OffsetDateTimeInterval.toDateTimeInterval(): DateTimeInterval Returns this interval with the precision reduced to only the local date and time. |
toInstantInterval | common fun OffsetDateTimeInterval.toInstantInterval(): InstantInterval Converts this interval to an InstantInterval. |
toPeriod | common fun OffsetDateTimeInterval.toPeriod(): Period Converts this interval into a Period of the same length. |
toZonedDateTimeInterval | common fun OffsetDateTimeInterval.toZonedDateTimeInterval(zone: TimeZone, strategy: OffsetConversionStrategy): ZonedDateTimeInterval Converts this interval to a ZonedDateTimeInterval using the specified strategy to adjust each endpoint to a valid date, time, and offset in zone. |