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) => Std.Time.PlainDateTime.ofWallTime (Std.Time.WallTime.ofTimestamp tm tz.offset) } }
Instances For
Equations
- Std.Time.DateTime.instInhabited = { default := Std.Time.DateTime.ofTimestamp default tz }
Returns the number of days since the UNIX epoch.
Equations
- date.toEpochDay = date.date.get.toEpochDay
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 the Local
date time.
Equations
- Std.Time.DateTime.ofPlainDateTime date tz = { timestamp := Std.Time.Timestamp.ofWallTime date.toWallTime tz.offset, date := { fn := fun (x : Unit) => date } }
Instances For
Add Hour.Offset to a DateTime.
Equations
- dt.addHours hours = Std.Time.DateTime.ofTimestamp (dt.timestamp + hours) tz
Instances For
Subtract Hour.Offset from a DateTime.
Equations
- dt.subHours hours = Std.Time.DateTime.ofTimestamp (dt.timestamp - hours) tz
Instances For
Add Minute.Offset to a DateTime.
Equations
- dt.addMinutes minutes = Std.Time.DateTime.ofTimestamp (dt.timestamp + minutes) tz
Instances For
Subtract Minute.Offset from a DateTime.
Equations
- dt.subMinutes minutes = Std.Time.DateTime.ofTimestamp (dt.timestamp - minutes) tz
Instances For
Add Second.Offset to a DateTime.
Equations
- dt.addSeconds seconds = Std.Time.DateTime.ofTimestamp (dt.timestamp + seconds) tz
Instances For
Subtract Second.Offset from a DateTime.
Equations
- dt.subSeconds seconds = Std.Time.DateTime.ofTimestamp (dt.timestamp - seconds) tz
Instances For
Add Millisecond.Offset to a DateTime.
Equations
- dt.addMilliseconds milliseconds = Std.Time.DateTime.ofTimestamp (dt.timestamp + milliseconds) tz
Instances For
Subtract Millisecond.Offset from a DateTime.
Equations
- dt.subMilliseconds milliseconds = Std.Time.DateTime.ofTimestamp (dt.timestamp - milliseconds) tz
Instances For
Add Nanosecond.Offset to a DateTime.
Equations
- dt.addNanoseconds nanoseconds = Std.Time.DateTime.ofTimestamp (dt.timestamp + nanoseconds) tz
Instances For
Subtract Nanosecond.Offset from a DateTime.
Equations
- dt.subNanoseconds nanoseconds = Std.Time.DateTime.ofTimestamp (dt.timestamp - nanoseconds) tz
Instances For
Add Week.Offset to a DateTime.
Equations
- dt.addWeeks weeks = Std.Time.DateTime.ofTimestamp (dt.timestamp + weeks) tz
Instances For
Subtracts Week.Offset to a DateTime.
Equations
- dt.subWeeks weeks = Std.Time.DateTime.ofTimestamp (dt.timestamp - weeks) tz
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, using firstDay as the start of the week.
Equations
- date.weekOfYear firstDay = date.date.get.weekOfYear firstDay
Instances For
Returns the week-based year for the given DateTime, using firstDay as the start of the week.
The week-based year may differ from the calendar year for dates near the start or end of the year.
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, using firstDay as the start of the week.
Equations
- date.alignedWeekOfMonth firstDay = date.date.get.alignedWeekOfMonth firstDay
Instances For
Creates a DateTime from a number of days since the 1970-01-01T00:00:00.
Equations
- Std.Time.DateTime.ofEpochDay days time tz = Std.Time.DateTime.ofPlainDateTime (Std.Time.PlainDateTime.ofEpochDay 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 }