Represents a date and time with timezone information.
- date : Thunk PlainDateTime
The plain datetime component, evaluated lazily.
- timestamp : Timestamp
The corresponding timestamp for the datetime.
- rules : TimeZone.ZoneRules
The timezone rules applied to this datetime.
- timezone : TimeZone
The timezone associated with this datetime.
Instances For
Equations
Creates a new ZonedDateTime out of a Timestamp and a ZoneRules.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Creates a new ZonedDateTime out of a PlainDateTime and a ZoneRules. It assumes PlainDateTime is
the local time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Creates a new ZonedDateTime out of a PlainDateTime and a TimeZone. It assumes PlainDateTime is
the local time.
Equations
Instances For
Creates a new Timestamp out of a ZonedDateTime.
Equations
- date.toTimestamp = date.timestamp
Instances For
Changes the ZoneRules to a new one.
Equations
- date.convertZoneRules tz₁ = Std.Time.ZonedDateTime.ofTimestamp date.toTimestamp tz₁
Instances For
Converts a ZonedDateTime to a PlainDateTime
Equations
- dt.toPlainDateTime = dt.date.get
Instances For
Getter for the Millisecond inside of a ZonedDateTime.
Equations
- dt.millisecond = dt.date.get.time.millisecond
Instances For
Getter for the Nanosecond inside of a ZonedDateTime
Equations
- zdt.nanosecond = zdt.date.get.time.nanosecond
Instances For
Returns the weekday.
Instances For
Determines the week of the year for the given ZonedDateTime, 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 ZonedDateTime, 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 ZonedDateTime (day divided by 7, plus 1).
Equations
- date.weekOfMonth = date.date.get.weekOfMonth
Instances For
Determines the week of the month for the given ZonedDateTime, using firstDay as the start of the week.
Equations
- date.alignedWeekOfMonth firstDay = date.date.get.alignedWeekOfMonth firstDay
Instances For
Add Day.Offset to a ZonedDateTime.
Instances For
Subtract Day.Offset from a ZonedDateTime.
Instances For
Add Week.Offset to a ZonedDateTime.
Instances For
Subtract Week.Offset from a ZonedDateTime.
Instances For
Add Month.Offset to a ZonedDateTime, clipping to the last valid day.
Equations
- dt.addMonthsClip months = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.addMonthsClip months) dt.rules
Instances For
Subtract Month.Offset from a ZonedDateTime, clipping to the last valid day.
Equations
- dt.subMonthsClip months = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.subMonthsClip months) dt.rules
Instances For
Add Month.Offset to a ZonedDateTime, rolling over excess days.
Equations
- dt.addMonthsRollOver months = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.addMonthsRollOver months) dt.rules
Instances For
Subtract Month.Offset from a ZonedDateTime, rolling over excess days.
Equations
- dt.subMonthsRollOver months = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.subMonthsRollOver months) dt.rules
Instances For
Add Year.Offset to a ZonedDateTime, rolling over excess days.
Equations
- dt.addYearsRollOver years = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.addYearsRollOver years) dt.rules
Instances For
Add Year.Offset to a ZonedDateTime, clipping to the last valid day.
Equations
- dt.addYearsClip years = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.addYearsClip years) dt.rules
Instances For
Subtract Year.Offset from a ZonedDateTime, clipping to the last valid day.
Equations
- dt.subYearsClip years = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.subYearsClip years) dt.rules
Instances For
Subtract Year.Offset from a ZonedDateTime, rolling over excess days.
Equations
- dt.subYearsRollOver years = Std.Time.ZonedDateTime.ofPlainDateTime (dt.toPlainDateTime.subYearsRollOver years) dt.rules
Instances For
Add Hour.Offset to a ZonedDateTime.
Instances For
Subtract Hour.Offset from a ZonedDateTime.
Instances For
Add Minute.Offset to a ZonedDateTime.
Equations
- dt.addMinutes minutes = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp + minutes) dt.rules
Instances For
Subtract Minute.Offset from a ZonedDateTime.
Equations
- dt.subMinutes minutes = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp - minutes) dt.rules
Instances For
Add Millisecond.Offset to a DateTime.
Equations
- dt.addMilliseconds milliseconds = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp + milliseconds) dt.rules
Instances For
Subtract Millisecond.Offset from a DateTime.
Equations
- dt.subMilliseconds milliseconds = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp - milliseconds) dt.rules
Instances For
Add Second.Offset to a ZonedDateTime.
Equations
- dt.addSeconds seconds = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp + seconds) dt.rules
Instances For
Subtract Second.Offset from a ZonedDateTime.
Equations
- dt.subSeconds seconds = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp - seconds) dt.rules
Instances For
Add Nanosecond.Offset to a ZonedDateTime.
Equations
- dt.addNanoseconds nanoseconds = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp + nanoseconds) dt.rules
Instances For
Subtract Nanosecond.Offset from a ZonedDateTime.
Equations
- dt.subNanoseconds nanoseconds = Std.Time.ZonedDateTime.ofTimestamp (dt.timestamp - nanoseconds) dt.rules
Instances For
Sets the ZonedDateTime to the specified desiredWeekday.
Equations
- dt.withWeekday desiredWeekday = Std.Time.ZonedDateTime.ofPlainDateTime (dt.date.get.withWeekday desiredWeekday) dt.rules
Instances For
Creates a new ZonedDateTime 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.ZonedDateTime.ofPlainDateTime (dt.date.get.withDaysClip days) dt.rules
Instances For
Creates a new ZonedDateTime 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.ZonedDateTime.ofPlainDateTime (dt.date.get.withDaysRollOver days) dt.rules
Instances For
Creates a new ZonedDateTime 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.ZonedDateTime.ofPlainDateTime (dt.date.get.withMonthClip month) dt.rules
Instances For
Creates a new ZonedDateTime 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.ZonedDateTime.ofPlainDateTime (dt.date.get.withMonthRollOver month) dt.rules
Instances For
Creates a new ZonedDateTime 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.ZonedDateTime.ofPlainDateTime (dt.date.get.withYearClip year) dt.rules
Instances For
Creates a new ZonedDateTime 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.ZonedDateTime.ofPlainDateTime (dt.date.get.withYearRollOver year) dt.rules
Instances For
Creates a new ZonedDateTime by adjusting the minute component.
Equations
- dt.withMinutes minute = Std.Time.ZonedDateTime.ofPlainDateTime (dt.date.get.withMinutes minute) dt.rules
Instances For
Creates a new ZonedDateTime by adjusting the second component.
Equations
- dt.withSeconds second = Std.Time.ZonedDateTime.ofPlainDateTime (dt.date.get.withSeconds second) dt.rules
Instances For
Creates a new ZonedDateTime by adjusting the nano component with a new millis that will set
in the millisecond scale.
Equations
- dt.withMilliseconds millis = Std.Time.ZonedDateTime.ofPlainDateTime (dt.date.get.withMilliseconds millis) dt.rules
Instances For
Creates a new ZonedDateTime by adjusting the nano component.
Equations
- dt.withNanoseconds nano = Std.Time.ZonedDateTime.ofPlainDateTime (dt.date.get.withNanoseconds nano) dt.rules
Instances For
Checks if the ZonedDateTime is in a leap year.
Equations
- date.inLeapYear = date.year.isLeap
Instances For
Returns the local (civil) date of the ZonedDateTime as a Day.Offset relative to 1970-01-01.
Equations
- date.toEpochDay = date.date.get.toEpochDay
Instances For
Creates a ZonedDateTime from a local date given as a Day.Offset relative to 1970-01-01, a
PlainTime, and ZoneRules. The day offset is interpreted as a local (civil) date, not UTC.
Equations
- Std.Time.ZonedDateTime.ofEpochDay days time zt = Std.Time.ZonedDateTime.ofPlainDateTime (Std.Time.PlainDateTime.ofEpochDay days time) zt
Instances For
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
- Std.Time.ZonedDateTime.instHSubDuration = { hSub := fun (x y : Std.Time.ZonedDateTime) => x.toTimestamp - y.toTimestamp }
Equations
- Std.Time.ZonedDateTime.instHAddDuration = { hAdd := fun (x : Std.Time.ZonedDateTime) (y : Std.Time.Duration) => x.addNanoseconds y.toNanoseconds }
Equations
- Std.Time.ZonedDateTime.instHSubDuration_1 = { hSub := fun (x : Std.Time.ZonedDateTime) (y : Std.Time.Duration) => x.subNanoseconds y.toNanoseconds }