Represents a specific point in time associated with a TimeZone.
- timestamp : Timestamp
Timestamprepresents the exact moment in time. It's a UTC relatedTimestamp. - date : Thunk PlainDateTime
Instances For
Equations
- Std.Time.instBEqDateTime = { beq := fun (x y : Std.Time.DateTime tz) => x.timestamp == y.timestamp }
Equations
- Std.Time.instOrdDateTime = { compare := compareOn fun (x : Std.Time.DateTime tz) => x.timestamp }
Creates a new DateTime out of a Timestamp that is in a TimeZone.
Equations
- Std.Time.DateTime.ofTimestamp tm tz = { timestamp := tm, date := { fn := fun (x : Unit) => tm.toPlainDateTimeAssumingUTC.addSeconds tz.toSeconds } }
Instances For
Equations
- Std.Time.DateTime.instInhabited = { default := Std.Time.DateTime.ofTimestamp default tz }
Converts a DateTime to the number of days since the UNIX epoch.
Equations
- date.toDaysSinceUNIXEpoch = date.date.get.toDaysSinceUNIXEpoch
Instances For
Creates a Timestamp out of a DateTime.
Equations
- date.toTimestamp = date.timestamp
Instances For
Changes the TimeZone to a new one.
Equations
- date.convertTimeZone tz₁ = Std.Time.DateTime.ofTimestamp date.timestamp tz₁
Instances For
Creates a new DateTime out of a PlainDateTime. It assumes that the PlainDateTime is relative
to UTC.
Equations
- Std.Time.DateTime.ofPlainDateTimeAssumingUTC date tz = { timestamp := Std.Time.Timestamp.ofPlainDateTimeAssumingUTC date, date := { fn := fun (x : Unit) => date.addSeconds tz.toSeconds } }
Instances For
Creates a new DateTime from a PlainDateTime, assuming that the PlainDateTime
is relative to the given TimeZone.
Equations
- Std.Time.DateTime.ofPlainDateTime date tz = { timestamp := Std.Time.Timestamp.ofPlainDateTimeAssumingUTC (date.subSeconds tz.toSeconds), date := { fn := fun (x : Unit) => date } }
Instances For
Add Hour.Offset to a DateTime.
Instances For
Subtract Hour.Offset from a DateTime.
Instances For
Add Minute.Offset to a DateTime.
Equations
- dt.addMinutes minutes = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addMinutes minutes) tz
Instances For
Subtract Minute.Offset from a DateTime.
Equations
- dt.subMinutes minutes = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subMinutes minutes) tz
Instances For
Add Second.Offset to a DateTime.
Equations
- dt.addSeconds seconds = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addSeconds seconds) tz
Instances For
Subtract Second.Offset from a DateTime.
Equations
- dt.subSeconds seconds = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subSeconds seconds) tz
Instances For
Add Millisecond.Offset to a DateTime.
Equations
- dt.addMilliseconds milliseconds = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addMilliseconds milliseconds) tz
Instances For
Subtract Millisecond.Offset from a DateTime.
Equations
- dt.subMilliseconds milliseconds = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subMilliseconds milliseconds) tz
Instances For
Add Nanosecond.Offset to a DateTime.
Equations
- dt.addNanoseconds nanoseconds = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addNanoseconds nanoseconds) tz
Instances For
Subtract Nanosecond.Offset from a DateTime.
Equations
- dt.subNanoseconds nanoseconds = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subNanoseconds nanoseconds) tz
Instances For
Add Week.Offset to a DateTime.
Instances For
Subtracts Week.Offset to a DateTime.
Instances For
Add Month.Offset to a DateTime, it clips the day to the last valid day of that month.
Equations
- dt.addMonthsClip months = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addMonthsClip months) tz
Instances For
Subtracts Month.Offset from a DateTime, it clips the day to the last valid day of that month.
Equations
- dt.subMonthsClip months = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subMonthsClip months) tz
Instances For
Add Month.Offset from a DateTime, this function rolls over any excess days into the following
month.
Equations
- dt.addMonthsRollOver months = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addMonthsRollOver months) tz
Instances For
Subtract Month.Offset from a DateTime, this function rolls over any excess days into the following
month.
Equations
- dt.subMonthsRollOver months = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subMonthsRollOver months) tz
Instances For
Add Year.Offset to a DateTime, this function rolls over any excess days into the following
month.
Equations
- dt.addYearsRollOver years = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addYearsRollOver years) tz
Instances For
Add Year.Offset to a DateTime, it clips the day to the last valid day of that month.
Equations
- dt.addYearsClip years = Std.Time.DateTime.ofPlainDateTime (dt.date.get.addYearsClip years) tz
Instances For
Subtract Year.Offset from a DateTime, this function rolls over any excess days into the following
month.
Equations
- dt.subYearsRollOver years = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subYearsRollOver years) tz
Instances For
Subtract Year.Offset from to a DateTime, it clips the day to the last valid day of that month.
Equations
- dt.subYearsClip years = Std.Time.DateTime.ofPlainDateTime (dt.date.get.subYearsClip years) tz
Instances For
Creates a new DateTime tz by adjusting the day of the month to the given days value, with any
out-of-range days clipped to the nearest valid date.
Equations
- dt.withDaysClip days = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withDaysClip days) tz
Instances For
Creates a new DateTime tz by adjusting the day of the month to the given days value, with any
out-of-range days rolled over to the next month or year as needed.
Equations
- dt.withDaysRollOver days = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withDaysRollOver days) tz
Instances For
Creates a new DateTime tz by adjusting the month to the given month value.
The day remains unchanged, and any invalid days for the new month will be handled according to the clip behavior.
Equations
- dt.withMonthClip month = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withMonthClip month) tz
Instances For
Creates a new DateTime tz by adjusting the month to the given month value.
The day is rolled over to the next valid month if necessary.
Equations
- dt.withMonthRollOver month = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withMonthRollOver month) tz
Instances For
Creates a new DateTime tz by adjusting the year to the given year value. The month and day remain unchanged,
and any invalid days for the new year will be handled according to the clip behavior.
Equations
- dt.withYearClip year = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withYearClip year) tz
Instances For
Creates a new DateTime tz by adjusting the year to the given year value. The month and day are rolled
over to the next valid month and day if necessary.
Equations
- dt.withYearRollOver year = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withYearRollOver year) tz
Instances For
Creates a new DateTime tz by adjusting the hour component.
Instances For
Creates a new DateTime tz by adjusting the minute component.
Equations
- dt.withMinutes minute = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withMinutes minute) tz
Instances For
Creates a new DateTime tz by adjusting the second component.
Equations
- dt.withSeconds second = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withSeconds second) tz
Instances For
Creates a new DateTime tz by adjusting the nano component.
Equations
- dt.withNanoseconds nano = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withNanoseconds nano) tz
Instances For
Creates a new DateTime tz by adjusting the millisecond component.
Equations
- dt.withMilliseconds milli = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withMilliseconds milli) tz
Instances For
Converts a Timestamp to a PlainDateTime
Equations
- dt.toPlainDateTime = dt.date.get
Instances For
Getter for the Nanosecond inside of a DateTime
Equations
- dt.nanosecond = dt.date.get.time.nanosecond
Instances For
Gets the Weekday of a DateTime.
Instances For
Sets the DateTime to the specified desiredWeekday.
Equations
- dt.withWeekday desiredWeekday = Std.Time.DateTime.ofPlainDateTime (dt.date.get.withWeekday desiredWeekday) tz
Instances For
Determines the week of the year for the given DateTime.
Equations
- date.weekOfYear = date.date.get.weekOfYear
Instances For
Returns the unaligned week of the month for a DateTime (day divided by 7, plus 1).
Equations
- date.weekOfMonth = date.date.get.weekOfMonth
Instances For
Determines the week of the month for the given DateTime. The week of the month is calculated based
on the day of the month and the weekday. Each week starts on Monday because the entire library is
based on the Gregorian Calendar.
Equations
- date.alignedWeekOfMonth = date.date.get.alignedWeekOfMonth
Instances For
Converts a DateTime to the number of days since the UNIX epoch.
Equations
- Std.Time.DateTime.ofDaysSinceUNIXEpoch days time tz = Std.Time.DateTime.ofPlainDateTime (Std.Time.PlainDateTime.ofDaysSinceUNIXEpoch days time) tz
Instances For
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- Std.Time.DateTime.instHSubDuration = { hSub := fun (x : Std.Time.DateTime tz) (y : Std.Time.DateTime tz₁) => x.toTimestamp - y.toTimestamp }
Equations
- Std.Time.DateTime.instHAddDuration = { hAdd := fun (x : Std.Time.DateTime tz) (y : Std.Time.Duration) => x.addNanoseconds y.toNanoseconds }
Equations
- Std.Time.DateTime.instHSubDuration_1 = { hSub := fun (x : Std.Time.DateTime tz) (y : Std.Time.Duration) => x.subNanoseconds y.toNanoseconds }