LocalDateTime

actual constructor(year: Int, monthNumber: Int, dayOfMonth: Int, hour: Int, minute: Int, second: Int, nanosecond: Int)(source)
actual constructor(year: Int, month: Month, dayOfMonth: Int, hour: Int, minute: Int, second: Int, nanosecond: Int)(source)
actual constructor(date: LocalDate, time: LocalTime)(source)
expect constructor(year: Int, monthNumber: Int, dayOfMonth: Int, hour: Int, minute: Int, second: Int = 0, nanosecond: Int = 0)(source)

Constructs a LocalDateTime instance from the given date and time components.

The components monthNumber and dayOfMonth are 1-based.

The supported ranges of components:

  • year the range is platform-dependent, but at least is enough to represent dates of all instants between Instant.DISTANT_PAST and Instant.DISTANT_FUTURE

  • monthNumber 1..12

  • dayOfMonth 1..31, the upper bound can be less, depending on the month

  • hour 0..23

  • minute 0..59

  • second 0..59

  • nanosecond 0..999_999_999

Throws

if any parameter is out of range or if dayOfMonth is invalid for the given monthNumber and year.

Samples

import kotlinx.datetime.*
import kotlinx.datetime.format.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   // Constructing a LocalDateTime value using its constructor
val dateTime = LocalDateTime(
    year = 2024,
    monthNumber = 2,
    dayOfMonth = 15,
    hour = 16,
    minute = 48,
    second = 59,
    nanosecond = 999_999_999,
)
check(dateTime.date == LocalDate(2024, 2, 15))
check(dateTime.time == LocalTime(16, 48, 59, 999_999_999))
val dateTimeWithoutSeconds = LocalDateTime(
    year = 2024,
    monthNumber = 2,
    dayOfMonth = 15,
    hour = 16,
    minute = 48,
)
check(dateTimeWithoutSeconds.date == LocalDate(2024, 2, 15))
check(dateTimeWithoutSeconds.time == LocalTime(16, 48)) 
   //sampleEnd
}

expect constructor(year: Int, month: Month, dayOfMonth: Int, hour: Int, minute: Int, second: Int = 0, nanosecond: Int = 0)(source)

Constructs a LocalDateTime instance from the given date and time components.

The supported ranges of components:

  • year the range is platform-dependent, but at least is enough to represent dates of all instants between Instant.DISTANT_PAST and Instant.DISTANT_FUTURE

  • month all values of the Month enum

  • dayOfMonth 1..31, the upper bound can be less, depending on the month

  • hour 0..23

  • minute 0..59

  • second 0..59

  • nanosecond 0..999_999_999

Throws

if any parameter is out of range, or if dayOfMonth is invalid for the given month and year.

Samples

import kotlinx.datetime.*
import kotlinx.datetime.format.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   // Constructing a LocalDateTime value using its constructor
val dateTime = LocalDateTime(
    year = 2024,
    month = Month.FEBRUARY,
    dayOfMonth = 15,
    hour = 16,
    minute = 48,
    second = 59,
    nanosecond = 999_999_999,
)
check(dateTime.date == LocalDate(2024, Month.FEBRUARY, 15))
check(dateTime.time == LocalTime(16, 48, 59, 999_999_999))
val dateTimeWithoutSeconds = LocalDateTime(
    year = 2024,
    month = Month.FEBRUARY,
    dayOfMonth = 15,
    hour = 16,
    minute = 48,
)
check(dateTimeWithoutSeconds.date == LocalDate(2024, Month.FEBRUARY, 15))
check(dateTimeWithoutSeconds.time == LocalTime(16, 48)) 
   //sampleEnd
}

expect constructor(date: LocalDate, time: LocalTime)(source)

Constructs a LocalDateTime instance by combining the given date and time parts.

Samples

import kotlinx.datetime.*
import kotlinx.datetime.format.*
import kotlin.test.*

fun main() { 
   //sampleStart 
   // Converting a LocalDate and a LocalTime to a LocalDateTime value and getting them back
val date = LocalDate(2024, 2, 15)
val time = LocalTime(16, 48)
val dateTime = LocalDateTime(date, time)
check(dateTime.date == date)
check(dateTime.time == time)
check(dateTime == date.atTime(time))
check(dateTime == time.atDate(date)) 
   //sampleEnd
}
actual constructor(year: Int, monthNumber: Int, dayOfMonth: Int, hour: Int, minute: Int, second: Int, nanosecond: Int)(source)
actual constructor(date: LocalDate, time: LocalTime)(source)
actual constructor(year: Int, monthNumber: Int, dayOfMonth: Int, hour: Int, minute: Int, second: Int, nanosecond: Int)(source)
actual constructor(year: Int, month: Month, dayOfMonth: Int, hour: Int, minute: Int, second: Int, nanosecond: Int)(source)
actual constructor(date: LocalDate, time: LocalTime)(source)