ZonedDateTimeInterval

class ZonedDateTimeInterval(start: ZonedDateTime, endExclusive: ZonedDateTime) : TimePointInterval<ZonedDateTime>

A half-open interval of zoned date-times based on timeline order.

DateTime.MIN and DateTime.MAX are used as sentinels to indicate an unbounded (ie. infinite) start or end. A ZonedDateTime with either as the date-time component will be treated accordingly, regardless of the offset or time zone.

Constructors

ZonedDateTimeInterval
Link copied to clipboard
common
fun ZonedDateTimeInterval(start: ZonedDateTime = UNBOUNDED.start, endExclusive: ZonedDateTime = UNBOUNDED.endExclusive)

Types

Companion
Link copied to clipboard
common
object Companion

Functions

asDuration
Link copied to clipboard
common
fun asDuration(): Duration
Converts this interval into a Duration of the same length.
asPeriod
Link copied to clipboard
common
fun asPeriod(): Period
Converts this interval into a Period of the same length.
contains
Link copied to clipboard
common
open operator override fun contains(value: ZonedDateTime): Boolean
Checks if this interval contains value.
equals
Link copied to clipboard
common
open operator override fun equals(other: Any?): Boolean
hasBoundedEnd
Link copied to clipboard
common
open fun hasBoundedEnd(): Boolean
Checks if this interval's end is bounded, meaning it has a finite value.
hasBoundedStart
Link copied to clipboard
common
open fun hasBoundedStart(): Boolean
Checks if this interval's start is bounded, meaning it has a finite value.
hashCode
Link copied to clipboard
common
open override fun hashCode(): Int
hasUnboundedEnd
Link copied to clipboard
common
open override fun hasUnboundedEnd(): Boolean
Checks if this interval's end is unbounded.
hasUnboundedStart
Link copied to clipboard
common
open override fun hasUnboundedStart(): Boolean
Checks if this interval's start is unbounded.
isBounded
Link copied to clipboard
common
open fun isBounded(): Boolean
Checks if both the start and end of this interval are bounded, meaning it has a finite range.
isEmpty
Link copied to clipboard
common
open override fun isEmpty(): Boolean
Checks if this interval is empty.
isUnbounded
Link copied to clipboard
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
Link copied to clipboard
common
open override fun toString(): String
Converts this interval to a string in ISO-8601 extended format.

Properties

endExclusive
Link copied to clipboard
common
open override val endExclusive: ZonedDateTime
The end of this interval, exclusive.
endInclusive
Link copied to clipboard
common
open override val endInclusive: ZonedDateTime
The end of this interval, inclusive.
lengthInDays
Link copied to clipboard
common
open override val lengthInDays: LongDays
The number of whole days in this interval.
lengthInHours
Link copied to clipboard
common
val lengthInHours: LongHours
The number of whole hours in this interval.
lengthInMicroseconds
Link copied to clipboard
common
val lengthInMicroseconds: LongMicroseconds
The number of whole microseconds in this interval.
lengthInMilliseconds
Link copied to clipboard
common
val lengthInMilliseconds: LongMilliseconds
The number of whole milliseconds in this interval.
lengthInMinutes
Link copied to clipboard
common
val lengthInMinutes: LongMinutes
The number of whole minutes in this interval.
lengthInMonths
Link copied to clipboard
common
val lengthInMonths: IntMonths
The number of whole months is this interval.
lengthInNanoseconds
Link copied to clipboard
common
val lengthInNanoseconds: LongNanoseconds
The number of whole nanoseconds in this interval.
lengthInSeconds
Link copied to clipboard
common
val lengthInSeconds: LongSeconds
The number of whole seconds in this interval.
lengthInWeeks
Link copied to clipboard
common
val lengthInWeeks: LongWeeks
The number of whole weeks in this interval.
lengthInYears
Link copied to clipboard
common
val lengthInYears: IntYears
The number of whole years in this interval.
start
Link copied to clipboard
common
open override val start: ZonedDateTime
The start of this interval, inclusive.

Extensions

random
Link copied to clipboard
common
fun ZonedDateTimeInterval.random(): ZonedDateTime
Returns a random date within this interval using the default random number generator.
fun ZonedDateTimeInterval.random(random: Random): ZonedDateTime
Returns a random date within this interval using the supplied random number generator.
randomOrNull
Link copied to clipboard
common
fun ZonedDateTimeInterval.randomOrNull(): ZonedDateTime?
Returns a random date within this interval using the default random number generator or null if the interval is empty or unbounded.
fun ZonedDateTimeInterval.randomOrNull(random: Random): ZonedDateTime?
Returns a random date within this interval using the supplied random number generator or null if the interval is empty or unbounded.
toDateRange
Link copied to clipboard
common
fun ZonedDateTimeInterval.toDateRange(): DateRange
Returns this interval with the precision reduced to just the date.
toDateTimeInterval
Link copied to clipboard
common
Returns this interval with the precision reduced to only the local date and time.
toInstantInterval
Link copied to clipboard
common
fun ZonedDateTimeInterval.toInstantInterval(): InstantInterval
Converts this interval to an InstantInterval.
toOffsetDateTimeInterval
Link copied to clipboard
common
Converts this interval to an OffsetDateTimeInterval.