(duration: Duration.Input): <A extends DateTime>(self: A) => A
<A extends DateTime>(self: A, duration: Duration.Input): AAdds the given Duration to a DateTime.
When to use
Use to move a DateTime by an elapsed duration such as minutes, seconds, or
milliseconds.
Details
The duration is converted to milliseconds and added to the epoch milliseconds. Zoned values keep their original time zone.
Gotchas
This is elapsed-time arithmetic, not calendar-aware local date arithmetic.
Use add when adding days, weeks, months, or years should account for the
date/time zone rules.
Example (Adding durations)
import { DateTime } from "effect"
// add 5 minutes
DateTime.makeUnsafe(0).pipe(
DateTime.addDuration("5 minutes")
)export const const addDuration: {
(duration: Duration.Input): <
A extends DateTime
>(
self: A
) => A
<A extends DateTime>(
self: A,
duration: Duration.Input
): A
}
Adds the given Duration to a DateTime.
When to use
Use to move a DateTime by an elapsed duration such as minutes, seconds, or
milliseconds.
Details
The duration is converted to milliseconds and added to the epoch
milliseconds. Zoned values keep their original time zone.
Gotchas
This is elapsed-time arithmetic, not calendar-aware local date arithmetic.
Use add when adding days, weeks, months, or years should account for the
date/time zone rules.
Example (Adding durations)
import { DateTime } from "effect"
// add 5 minutes
DateTime.makeUnsafe(0).pipe(
DateTime.addDuration("5 minutes")
)
addDuration: {
(duration: Duration.Inputduration: import DurationDuration.type Input =
| number
| bigint
| Duration.Duration
| readonly [seconds: number, nanos: number]
| `${number} second`
| `${number} minute`
| `${number} hour`
| `${number} day`
| `${number} week`
| `${number} seconds`
| `${number} minutes`
| `${number} hours`
| `${number} days`
| `${number} weeks`
| `${number} nano`
| `${number} nanos`
| `${number} micro`
| `${number} micros`
| `${number} milli`
| `${number} millis`
| "Infinity"
| "-Infinity"
| Duration.DurationObject
Valid input types that can be converted to a Duration.
When to use
Use when an API should accept any value that Effect can convert into a
Duration, including existing durations, millisecond numbers, nanosecond
bigints, high-resolution tuples, duration strings, infinity strings, or
duration objects.
Details
String inputs accept values like "10 seconds", "500 millis",
"Infinity", and "-Infinity". Finite fractional values that are
normalized to nanoseconds are rounded to the nearest nanosecond, with ties
away from zero.
Input): <function (type parameter) A in <A extends DateTime>(self: A): AA extends type DateTime = Utc | ZonedA DateTime represents a point in time. It can optionally have a time zone
associated with it.
Companion namespace containing the public helper types used by DateTime
constructors, parts APIs, formatting, and date/time arithmetic.
DateTime>(self: A extends DateTimeself: function (type parameter) A in <A extends DateTime>(self: A): AA) => function (type parameter) A in <A extends DateTime>(self: A): AA
<function (type parameter) A in <A extends DateTime>(self: A, duration: Duration.Input): AA extends type DateTime = Utc | ZonedA DateTime represents a point in time. It can optionally have a time zone
associated with it.
Companion namespace containing the public helper types used by DateTime
constructors, parts APIs, formatting, and date/time arithmetic.
DateTime>(self: A extends DateTimeself: function (type parameter) A in <A extends DateTime>(self: A, duration: Duration.Input): AA, duration: Duration.Inputduration: import DurationDuration.type Input =
| number
| bigint
| Duration.Duration
| readonly [seconds: number, nanos: number]
| `${number} second`
| `${number} minute`
| `${number} hour`
| `${number} day`
| `${number} week`
| `${number} seconds`
| `${number} minutes`
| `${number} hours`
| `${number} days`
| `${number} weeks`
| `${number} nano`
| `${number} nanos`
| `${number} micro`
| `${number} micros`
| `${number} milli`
| `${number} millis`
| "Infinity"
| "-Infinity"
| Duration.DurationObject
Valid input types that can be converted to a Duration.
When to use
Use when an API should accept any value that Effect can convert into a
Duration, including existing durations, millisecond numbers, nanosecond
bigints, high-resolution tuples, duration strings, infinity strings, or
duration objects.
Details
String inputs accept values like "10 seconds", "500 millis",
"Infinity", and "-Infinity". Finite fractional values that are
normalized to nanoseconds are rounded to the nearest nanosecond, with ties
away from zero.
Input): function (type parameter) A in <A extends DateTime>(self: A, duration: Duration.Input): AA
} = import InternalInternal.const addDuration: {
(duration: Duration.Input): <
A extends DateTime.DateTime
>(
self: A
) => A
<A extends DateTime.DateTime>(
self: A,
duration: Duration.Input
): A
}
addDuration