Skip to content

//core/io.islandtime/DateTime

DateTime

common

class DateTime(date: Date, time: Time) : Comparable<DateTime>

A date and time of day in an ambiguous region.

Parameters

common

date the date
time the time

Constructors

DateTime

common

fun DateTime(year: Int, month: Month, day: Int, hour: Int, minute: Int, second: Int = 0, nanosecond: Int = 0)

Creates a DateTime.
DateTime

common

fun DateTime(year: Int, monthNumber: Int, day: Int, hour: Int, minute: Int, second: Int = 0, nanosecond: Int = 0)

Creates a DateTime.
DateTime

common

fun DateTime(year: Int, dayOfYear: Int, hour: Int, minute: Int, second: Int, nanosecond: Int)

Creates a DateTime.
DateTime

common

fun DateTime(date: Date, time: Time)

Creates a DateTime by combining a Date and Time.

Types

Name Summary
Companion

common


object Companion

Functions

Name Summary
compareTo

common


open operator override fun compareTo(other: DateTime): Int
component1

common


operator fun component1(): Date
component2

common


operator fun component2(): Time
copy

common


fun copy(date: Date = this.date, time: Time = this.time): DateTime

fun copy(year: Int = this.year, dayOfYear: Int = this.dayOfYear, hour: Int = this.hour, minute: Int = this.minute, second: Int = this.second, nanosecond: Int = this.nanosecond): DateTime

fun copy(year: Int = this.year, month: Month = this.month, dayOfMonth: Int = this.dayOfMonth, hour: Int = this.hour, minute: Int = this.minute, second: Int = this.second, nanosecond: Int = this.nanosecond): DateTime

fun copy(year: Int = this.year, monthNumber: Int, dayOfMonth: Int = this.dayOfMonth, hour: Int = this.hour, minute: Int = this.minute, second: Int = this.second, nanosecond: Int = this.nanosecond): DateTime

Returns a copy of this date-time with the values of any individual components replaced by the new values specified.
equals

common


open operator override fun equals(other: Any?): Boolean
hashCode

common


open override fun hashCode(): Int
millisecondOfUnixEpochAt

common


fun millisecondOfUnixEpochAt(offset: UtcOffset): Long

The millisecond of the Unix epoch.
millisecondsSinceUnixEpochAt

common


fun millisecondsSinceUnixEpochAt(offset: UtcOffset): Milliseconds

The number of milliseconds relative to the Unix epoch of 1970-01-01T00:00Z at a particular offset. This is a "floor" value, so 1 nanosecond before the Unix epoch will be at a distance of 1 millisecond.
minus

common


operator fun minus(centuries: Centuries): DateTime

Returns this date-time with centuries subtracted from it.

common


operator fun minus(days: Days): DateTime

Returns this date-time with days subtracted from it.

common


operator fun minus(decades: Decades): DateTime

Returns this date-time with decades subtracted from it.

common


operator fun minus(duration: Duration): DateTime

common


operator fun minus(hours: Hours): DateTime

Returns this date-time with hours subtracted from it.

common


operator fun minus(microseconds: Microseconds): DateTime

Returns this date-time with microseconds subtracted from it.

common


operator fun minus(milliseconds: Milliseconds): DateTime

Returns this date-time with milliseconds subtracted from it.

common


operator fun minus(minutes: Minutes): DateTime

Returns this date-time with minutes subtracted from it.

common


operator fun minus(months: Months): DateTime

Returns this date-time with months subtracted from it.

common


operator fun minus(nanoseconds: Nanoseconds): DateTime

Returns this date-time with nanoseconds subtracted from it.

common


operator fun minus(period: Period): DateTime

Returns this date-time with period subtracted from it.

common


operator fun minus(seconds: Seconds): DateTime

Returns this date-time with seconds subtracted from it.

common


operator fun minus(weeks: Weeks): DateTime

Returns this date-time with weeks subtracted from it.

common


operator fun minus(years: Years): DateTime

Returns this date-time with years subtracted from it.

common


operator fun minus(duration: Duration): DateTime

Returns this date-time with duration subtracted from it.
plus

common


operator fun plus(centuries: Centuries): DateTime

Returns this date-tme with centuries added to it.

common


operator fun plus(days: Days): DateTime

Returns this date-time with days added to it.

common


operator fun plus(decades: Decades): DateTime

Returns this date-time with decades added to it.

common


operator fun plus(duration: Duration): DateTime

common


operator fun plus(hours: Hours): DateTime

Returns this date-time with hours added to it.

common


operator fun plus(microseconds: Microseconds): DateTime

Returns this date-time with microseconds added to it.

common


operator fun plus(milliseconds: Milliseconds): DateTime

Returns this date-time with milliseconds added to it.

common


operator fun plus(minutes: Minutes): DateTime

Returns this date-time with minutes added to it.

common


operator fun plus(months: Months): DateTime

Returns this date-time with months added to it.

common


operator fun plus(nanoseconds: Nanoseconds): DateTime

Returns this date-time with nanoseconds added to it.

common


operator fun plus(period: Period): DateTime

Returns this date-time with period added to it.

common


operator fun plus(seconds: Seconds): DateTime

Returns this date-time with seconds added to it.

common


operator fun plus(weeks: Weeks): DateTime

Returns this date-time with weeks added to it.

common


operator fun plus(years: Years): DateTime

Returns this date-time with years added to it.

common


operator fun plus(duration: Duration): DateTime

Returns this date-time with duration added to it.
rangeTo

common


operator fun rangeTo(other: DateTime): DateTimeInterval
secondOfUnixEpochAt

common


fun secondOfUnixEpochAt(offset: UtcOffset): Long

The second of the Unix epoch.
secondsSinceUnixEpochAt

common


fun secondsSinceUnixEpochAt(offset: UtcOffset): Seconds

The number of seconds relative to the Unix epoch of 1970-01-01T00:00Z at a particular offset. This is a "floor" value, so 1 nanosecond before the Unix epoch will be at a distance of 1 second.
toString

common


open override fun toString(): String

Converts this date-time to a string in ISO-8601 extended format. For example, 2012-04-15T17:31:45.923452091 or 2020-02-13T02:30.

Properties

Name Summary
additionalNanosecondsSinceUnixEpoch

common

val additionalNanosecondsSinceUnixEpoch: Nanoseconds

The number of additional nanoseconds that should be applied on top of the number of seconds since the Unix epoch returned by secondsSinceUnixEpochAt.
date

common

val date: Date

The date.
dayOfMonth

common

val dayOfMonth: Int

The day of the month.
dayOfWeek

common

val dayOfWeek: DayOfWeek

The day of the week.
dayOfYear

common

val dayOfYear: Int

The day of the year.
hour

common

val hour: Int

The hour of the day.
minute

common

val minute: Int

The minute of the hour.
month

common

val month: Month

The month of the year.
monthNumber

common

val monthNumber: Int

The ISO month number, from 1-12.
nanosecond

common

val nanosecond: Int

The nanosecond of the second.
second

common

val second: Int

The second of the minute.
time

common

val time: Time

The time of day.
year

common

val year: Int

The year.

Extensions

Name Summary
at

common


infix fun DateTime.at(offset: UtcOffset): OffsetDateTime

Combines a local date and time with a UTC offset to create an OffsetDateTime.

common


infix fun DateTime.at(zone: TimeZone): ZonedDateTime

Combines a local date and time with a time zone to create a ZonedDateTime.
endOfMonth

common


val DateTime.endOfMonth: DateTime

The date-time at the last representable instant of the month that this date-time falls in.
endOfWeek

common


val DateTime.endOfWeek: DateTime

The date-time at the last representable instant of the ISO week that this date-time falls in.

common


fun DateTime.endOfWeek(settings: WeekSettings): DateTime

The date-time at the last representable instant of the week that this date-time falls in. The first day of the week will be determined by the system settings. This may differ from the first day of the week associated with the default locale on platforms that allow this to be customized.

common


fun DateTime.endOfWeek(locale: Locale): DateTime

The date-time at the last representable instant of the week that this date-time falls in. The first day of the week will be determined by locale.
endOfYear

common


val DateTime.endOfYear: DateTime

The date-time at the last representable instant of the year that this date-time falls in.
isInLeapDay

common


val DateTime.isInLeapDay: Boolean

Checks if this date-time falls within February 29.
isInLeapYear

common


val DateTime.isInLeapYear: Boolean

Checks if this date-time falls within a leap year.
lengthOfMonth

common


val DateTime.lengthOfMonth: Days

The length of this date-time's month in days.
lengthOfWeekBasedYear

common


val DateTime.lengthOfWeekBasedYear: Weeks

The length of the ISO week-based year that this date-time falls in, either 52 or 53 weeks.
lengthOfYear

common


val DateTime.lengthOfYear: Days

The length of this date-time's year in days.
next

common


fun DateTime.next(dayOfWeek: DayOfWeek): DateTime

The next date-time after this one that falls on dayOfWeek.
nextOrSame

common


fun DateTime.nextOrSame(dayOfWeek: DayOfWeek): DateTime

The next date-time that falls on dayOfWeek, or this date-time if it falls on the same day.
previous

common


fun DateTime.previous(dayOfWeek: DayOfWeek): DateTime

The last date-time before this one that falls on dayOfWeek.
previousOrSame

common


fun DateTime.previousOrSame(dayOfWeek: DayOfWeek): DateTime

The previous date-time that falls on dayOfWeek, or this date-time if it falls on the same day.
roundedDownTo

common


fun DateTime.roundedDownTo(unit: TimeUnit): DateTime

Returns this date-time, rounded down to match the precision of a given unit.
roundedDownToNearest

common


fun DateTime.roundedDownToNearest(increment: Hours): DateTime

Returns this date-time, rounded down to the nearest hour that satisfies the increment.

common


fun DateTime.roundedDownToNearest(increment: Minutes): DateTime

Returns this date-time, rounded down to the nearest minute that satisfies the increment.

common


fun DateTime.roundedDownToNearest(increment: Seconds): DateTime

Returns this date-time, rounded down to the nearest second that satisfies the increment.

common


fun DateTime.roundedDownToNearest(increment: Milliseconds): DateTime

Returns this date-time, rounded down to the nearest millisecond that satisfies the increment.

common


fun DateTime.roundedDownToNearest(increment: Microseconds): DateTime

Returns this date-time, rounded down to the nearest microsecond that satisfies the increment.

common


fun DateTime.roundedDownToNearest(increment: Nanoseconds): DateTime

Returns this date-time, rounded down to the nearest nanosecond that satisfies the increment.
roundedTo

common


fun DateTime.roundedTo(unit: TimeUnit): DateTime

Returns this date-time, rounded to match the precision of a given unit. If the time is halfway between whole values of the unit, it will be rounded up.
roundedToNearest

common


fun DateTime.roundedToNearest(increment: Hours): DateTime

Returns this date-time, rounded to the nearest hour that satisfies the increment. If the time is halfway between increments, it will be rounded up.

common


fun DateTime.roundedToNearest(increment: Minutes): DateTime

Returns this date-time, rounded to the nearest minute that satisfies the increment. If the time is halfway between increments, it will be rounded up.

common


fun DateTime.roundedToNearest(increment: Seconds): DateTime

Returns this date-time, rounded to the nearest second that satisfies the increment. If the time is halfway between increments, it will be rounded up.

common


fun DateTime.roundedToNearest(increment: Milliseconds): DateTime

Returns this date-time, rounded to the nearest millisecond that satisfies the increment. If the time is halfway between increments, it will be rounded up.

common


fun DateTime.roundedToNearest(increment: Microseconds): DateTime

Returns this date-time, rounded to the nearest microsecond that satisfies the increment. If the time is halfway between increments, it will be rounded up.

common


fun DateTime.roundedToNearest(increment: Nanoseconds): DateTime

Returns this date-time, rounded to the nearest nanosecond that satisfies the increment. If the time is halfway between increments, it will be rounded up.
roundedUpTo

common


fun DateTime.roundedUpTo(unit: TimeUnit): DateTime

Returns this date-time, rounded up to match the precision of a given unit.
roundedUpToNearest

common


fun DateTime.roundedUpToNearest(increment: Hours): DateTime

Returns this date-time, rounded up to the nearest hour that satisfies the increment.

common


fun DateTime.roundedUpToNearest(increment: Minutes): DateTime

Returns this date-time, rounded up to the nearest minute that satisfies the increment.

common


fun DateTime.roundedUpToNearest(increment: Seconds): DateTime

Returns this date-time, rounded up to the nearest second that satisfies the increment.

common


fun DateTime.roundedUpToNearest(increment: Milliseconds): DateTime

Returns this date-time, rounded up to the nearest millisecond that satisfies the increment.

common


fun DateTime.roundedUpToNearest(increment: Microseconds): DateTime

Returns this date-time, rounded up to the nearest microsecond that satisfies the increment.

common


fun DateTime.roundedUpToNearest(increment: Nanoseconds): DateTime

Returns this date-time, rounded up to the nearest nanosecond that satisfies the increment.
startOfMonth

common


val DateTime.startOfMonth: DateTime

The date-time at the first instant of the month that this date-time falls in.
startOfWeek

common


val DateTime.startOfWeek: DateTime

The date-time at the first instant of the ISO week that this date-time falls in.

common


fun DateTime.startOfWeek(settings: WeekSettings): DateTime

The date-time at the first instant of the week that this date-time falls in. The first day of the week will be determined by the system settings. This may differ from the first day of the week associated with the default locale on platforms that allow this to be customized.

common


fun DateTime.startOfWeek(locale: Locale): DateTime

The date-time at the first instant of the week that this date-time falls in. The first day of the week will be determined by locale.
startOfYear

common


val DateTime.startOfYear: DateTime

The date-time at the first instant of the year that this date-time falls in.
toInstantAt

common


fun DateTime.toInstantAt(offset: UtcOffset): Instant

Converts this date-time to the corresponding Instant at offset.
toJavaLocalDateTime

jvm


fun DateTime.toJavaLocalDateTime(): LocalDateTime

Converts this date-time to an equivalent Java LocalDateTime.
toNSDateComponents

darwin


fun DateTime.toNSDateComponents(includeCalendar: Boolean = false): <ERROR CLASS>

Converts this date-time to an equivalent NSDateComponents object.
toYear

common


fun DateTime.toYear(): Year

Returns this date-time with the precision reduced to the year.
toYearMonth

common


fun DateTime.toYearMonth(): YearMonth

Returns this date-time with the precision reduced to the month.
truncatedTo

common


fun DateTime.truncatedTo(unit: TimeUnit): DateTime

Returns this date-time, rounded down to match the precision of a given unit.
until

common


infix fun DateTime.until(to: DateTime): DateTimeInterval

Creates a DateTimeInterval from this date-time up to, but not including the nanosecond represented by to.
week

common


val DateTime.week: DateTimeInterval

The interval defining the ISO week that this date-time falls within.

common


fun DateTime.week(settings: WeekSettings): DateTimeInterval

The interval defining the week that this date-time falls within. The first day of the week will be determined by the provided settings.

common


fun DateTime.week(locale: Locale): DateTimeInterval

The interval defining the week that this date-time falls within. The first day of the week will be the default associated with the provided locale.
weekBasedYear

common


val DateTime.weekBasedYear: Int

The week-based year used in the ISO week date system. This value differs from the regular ISO year when the week number falls in the preceding or following year.

common


fun DateTime.weekBasedYear(settings: WeekSettings): Int

The week-based year, calculated using the week definition in settings. This value differs from the regular ISO year when the week number falls in the preceding or following year.

common


fun DateTime.weekBasedYear(locale: Locale): Int

The week-based year, calculated using the week definition associated with the provided locale. This value differs from the regular ISO year when the week number falls in the preceding or following year.
weekOfMonth

common


val DateTime.weekOfMonth: Int

The week of the month, from 0-6, calculated using the ISO week definition.

common


fun DateTime.weekOfMonth(settings: WeekSettings): Int

The week of the month, from 0-6, calculated using the week definition in settings.

common


fun DateTime.weekOfMonth(locale: Locale): Int

The week of the month, from 0-6, calculated using the default week definition associated with the provided locale.
weekOfWeekBasedYear

common


val DateTime.weekOfWeekBasedYear: Int

The week number used in the ISO week date system.

common


fun DateTime.weekOfWeekBasedYear(settings: WeekSettings): Int

The week number of the week-based year, calculated using the week definition in settings.

common


fun DateTime.weekOfWeekBasedYear(locale: Locale): Int

The week number of the week-based year, calculated using the week definition associated with the provided locale.
weekOfYear

common


val DateTime.weekOfYear: Int

The week of the year, calculated using the ISO week definition. If the week number is associated with the preceding year, 0 will be returned.

common


fun DateTime.weekOfYear(settings: WeekSettings): Int

The week of the year, calculated using the week definition in settings. If the week number is associated with the preceding year, 0 will be returned.

common


fun DateTime.weekOfYear(locale: Locale): Int

The week of the year, calculated using the week definition associated with the provided locale. If the week number is associated with the preceding year, 0 will be returned.