new : CalendarDate, ClockTime -> LocalDateTime
LocalDateTime
LocalDateTime :: # (opaque)
A dated local label. A zone occurrence has not been selected or resolved.
Example
Combine a calendar date with a wall-clock label before choosing a timezone. Construction alone does not resolve daylight-saving gaps or folds.
import time.GregorianDate
import time.CalendarDate
import time.ClockTime
import time.LocalDateTime
expect {
date = GregorianDate.from_fields({ year: 2025, month: 6, day: 12 })?
clock = ClockTime.from_fields({
hour: 9,
minute: 30,
second: 0,
microsecond: 0,
})?
local = LocalDateTime.new(CalendarDate.from_gregorian(date), clock)
ClockTime.to_fields(LocalDateTime.clock(local)).hour == 9
}
Examples assume a package dependency named time.
date : LocalDateTime -> CalendarDate
clock : LocalDateTime -> ClockTime
in_calendar : LocalDateTime, Calendar -> Try(LocalDateTime, [OutOfRange, ..])
compare_position : LocalDateTime, LocalDateTime -> [LT, EQ, GT]
Compare local positions, not timeline occurrences or descriptions.
same_position : LocalDateTime, LocalDateTime -> Bool
Description equality preserves the calendar as well as the clock label.
to_inspect : LocalDateTime -> Str