DateTime

The DateTime module provides the DateTime type as well as functions for working with combined date and time values.

These functions include functions for creating DateTime objects from various numeric values, converting DateTimes to and from ISO 8601 strings, and performing arithmetic operations on DateTimes.

DateTime

DateTime : { date : Date, time: Time }

add : DateTime, Duration -> DateTime

Same as add_duration

add_days : DateTime, Int * -> DateTime

Add days to a DateTime object.

add_duration : DateTime, Duration -> DateTime

Add a Duration object to a DateTime object. (May be deprecated in favor of add in the future.)

add_minutes : DateTime, Int * -> DateTime

Add minutes to a DateTime object.

add_months : DateTime, Int * -> DateTime

Add months to a DateTime object.

add_hours : DateTime, Int * -> DateTime

Add hours to a DateTime object.

add_nanoseconds : DateTime, Int * -> DateTime

Add nanoseconds to a DateTime object.

add_seconds : DateTime, Int * -> DateTime

Add seconds to a DateTime object.

add_years : DateTime, Int * -> DateTime

Add years to a DateTime object.

after : DateTime, DateTime -> Bool

Determine if the first DateTime occurs after the second DateTime.

before : DateTime, DateTime -> Bool

Determine if the first DateTime occurs before the second DateTime.

compare : DateTime, DateTime -> [ LT, EQ, GT ]

Compare two DateTime objects. If the first occurs before the second, it returns LT. If the first and the second are equal, it returns EQ. If the first occurs after the second, it returns GT.

equal : DateTime, DateTime -> Bool

Determine if the first DateTime equals the second DateTime.

format : DateTime, Str -> Str

Format a DateTime object according to the given format string. The following placeholders are supported:

from_iso_str : Str -> Result DateTime [InvalidDateTimeFormat]

Convert an ISO 8601 string to a DateTime object.

from_iso_u8 : List U8 -> Result DateTime [InvalidDateTimeFormat]

Convert an ISO 8601 list of UTF-8 bytes to a DateTime object.

from_nanos_since_epoch : Int * -> DateTime

Convert the number of nanoseconds since the Unix epoch to a DateTime object.

from_yd : Int *, Int * -> DateTime

Create a DateTime object from the year and day of the year.

from_ymd : Int *, Int *, Int * -> DateTime

Create a DateTime object from the year, month, and day.

from_yw : Int *, Int * -> DateTime

Create a DateTime object from the year and week.

from_ywd : Int *, Int *, Int * -> DateTime

Create a DateTime object from the year, week, and day of the week.

from_ymdhms : Int *, Int *, Int *, Int *, Int *, Int * -> DateTime

Create a DateTime object from the year, month, day, hour, minute, and second.

from_ymdhmsn : Int *, Int *, Int *, Int *, Int *, Int *, Int * -> DateTime

Create a DateTime object from the year, month, day, hour, minute, second, and nanosecond.

sub : DateTime, DateTime -> Duration

Subtract two DateTime objects to get the Duration between them.

to_iso_str : DateTime -> Str

Convert a DateTime object to an ISO 8601 string.

to_iso_u8 : DateTime -> List U8

Convert a DateTime object to an ISO 8601 list of UTF-8 bytes.

to_nanos_since_epoch : DateTime -> I128

Convert a DateTime object to the number of nanoseconds since the Unix epoch.

unix_epoch : DateTime

DateTime object representing the Unix epoch (1970-01-01T00:00:00).