Represents a time interval with nanoseconds precision.
- second : Std.Time.Second.Offset
Second offset of the duration.
- nano : Std.Time.Nanosecond.Span
Nanosecond span that ranges from -999999999 and 999999999
Instances For
- Std.Time.DateTime.instHAddDuration
- Std.Time.DateTime.instHSubDuration
- Std.Time.DateTime.instHSubDuration_1
- Std.Time.Duration.instCoeOffset
- Std.Time.Duration.instCoeOffset_1
- Std.Time.Duration.instCoeOffset_2
- Std.Time.Duration.instCoeOffset_3
- Std.Time.Duration.instCoeOffset_4
- Std.Time.Duration.instCoeOffset_5
- Std.Time.Duration.instHAdd
- Std.Time.Duration.instHAddOffset
- Std.Time.Duration.instHAddOffset_1
- Std.Time.Duration.instHAddOffset_2
- Std.Time.Duration.instHAddOffset_3
- Std.Time.Duration.instHAddOffset_4
- Std.Time.Duration.instHAddOffset_5
- Std.Time.Duration.instHAddOffset_6
- Std.Time.Duration.instHAddPlainTime
- Std.Time.Duration.instHMulInt
- Std.Time.Duration.instHMulInt_1
- Std.Time.Duration.instHSub
- Std.Time.Duration.instHSubOffset
- Std.Time.Duration.instHSubOffset_1
- Std.Time.Duration.instHSubOffset_2
- Std.Time.Duration.instHSubOffset_3
- Std.Time.Duration.instHSubOffset_4
- Std.Time.Duration.instHSubOffset_5
- Std.Time.Duration.instHSubOffset_6
- Std.Time.Duration.instHSubPlainTime
- Std.Time.Duration.instLE
- Std.Time.PlainDate.instHSubDuration
- Std.Time.PlainDateTime.instHAddDuration
- Std.Time.PlainDateTime.instHSubDuration
- Std.Time.Timestamp.instHAddDuration
- Std.Time.Timestamp.instHSubDuration
- Std.Time.Timestamp.instHSubDuration_1
- Std.Time.ZonedDateTime.instHAddDuration
- Std.Time.ZonedDateTime.instHSubDuration
- Std.Time.ZonedDateTime.instHSubDuration_1
- Std.Time.instBEqDuration
- Std.Time.instInhabitedDuration
- Std.Time.instOfNatDuration
- Std.Time.instReprDuration
- Std.Time.instReprDuration_1
- Std.Time.instToStringDuration
Equations
- Std.Time.instReprDuration = { reprPrec := Std.Time.reprDuration✝ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Std.Time.instBEqDuration = { beq := fun (x y : Std.Time.Duration) => x.second == y.second && y.nano == x.nano }
Negates a Duration
, flipping its second and nanosecond values.
Creates a new Duration
out of Second.Offset
.
Creates a new Duration
out of Nanosecond.Offset
.
Checks if the duration is zero seconds and zero nanoseconds.
Converts a Duration
to a Second.Offset
Converts a Duration
to a Millisecond.Offset
Equations
- duration.toMilliseconds = Std.Time.Internal.UnitVal.mul duration.second 1000 + { val := (Std.Time.Internal.Bounded.LE.ediv duration.nano 1000000 Std.Time.Duration.toMilliseconds.proof_1).val }
Converts a Duration
to a Nanosecond.Offset
Converts a Duration
to a Minute.Offset
Equations
- tm.toMinutes = Std.Time.Internal.UnitVal.ediv tm.second 60
Converts a Duration
to a Day.Offset
Normalizes Second.Offset
and NanoSecond.span
in order to build a new Duration
out of it.
Equations
- Std.Time.Duration.fromComponents secs nanos = Std.Time.Duration.ofNanoseconds (secs.toNanoseconds + nanos.toOffset)
Adds two durations together, handling any carry-over in nanoseconds.
Equations
- t₁.add t₂ = Std.Time.Duration.ofNanoseconds (t₁.toNanoseconds + t₂.toNanoseconds)
Adds a Nanosecond.Offset
to a Duration
Adds a Millisecond.Offset
to a Duration
Adds a Millisecond.Offset
to a Duration
Adds a Nanosecond.Offset
to a Duration
Adds a Second.Offset
to a Duration
Equations
- t.addSeconds s = t.add (Std.Time.Duration.ofSeconds s)
Subtracts a Second.Offset
from a Duration
Equations
- t.subSeconds s = t.sub (Std.Time.Duration.ofSeconds s)
Adds a Minute.Offset
to a Duration
Equations
- t.addMinutes m = t.addSeconds (Std.Time.Internal.UnitVal.mul m 60)
Subtracts a Minute.Offset
from a Duration
Equations
- t.subMinutes m = t.subSeconds (Std.Time.Internal.UnitVal.mul m 60)
Adds an Hour.Offset
to a Duration
Subtracts an Hour.Offset
from a Duration
Equations
- t.subHours h = t.subSeconds (Std.Time.Internal.UnitVal.mul h 3600)
Adds a Day.Offset
to a Duration
Equations
- t.addDays d = t.addSeconds (Std.Time.Internal.UnitVal.mul d 86400)
Subtracts a Day.Offset
from a Duration
Equations
- t.subDays d = t.subSeconds (Std.Time.Internal.UnitVal.mul d 86400)
Adds a Week.Offset
to a Duration
Equations
- t.addWeeks w = t.addSeconds (Std.Time.Internal.UnitVal.mul w 604800)
Subtracts a Week.Offset
from a Duration
Equations
- Std.Time.Duration.instHSub = { hSub := Std.Time.Duration.sub }
Equations
- Std.Time.Duration.instHAdd = { hAdd := Std.Time.Duration.add }