ensureDate
Safely converts a date-like value to a valid Date object, or returns null.
Accepts Date, timestamps (seconds or milliseconds, auto-detected), date strings,
and objects with an epochMilliseconds property (e.g. Temporal.Instant,
Temporal.ZonedDateTime).
Returns null for null, undefined, empty strings, 0, and any value that
produces an invalid Date.
This is the date equivalent of ensureArray — it normalizes flexible input into a guaranteed type (or a safe fallback).
Available since v2.0.0
Import
Section titled “Import”Signature
Section titled “Signature”Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
input | DateLike | null | undefined | A date-like value to convert |
Returns
Section titled “Returns”Date | null — A valid Date object, or null if the input is invalid
Examples
Section titled “Examples”ensureDate
Section titled “ensureDate”Related Types
Section titled “Related Types”DateLike
Section titled “DateLike”A value that can be converted to a Date.
Date— used as-is (validated for Invalid Date)number— treated as a timestamp (seconds or milliseconds, auto-detected);0is treated as invalid and producesnullin ensureDatestring— parsed vianew Date(string)Temporal.Instant|Temporal.ZonedDateTime— read via theirepochMillisecondsproperty
