Skip to content

isWithinRange

Checks whether a date falls within a range (inclusive on both ends).

Returns false if any of the inputs is invalid.

Available since v2.0.0

import { isWithinRange } from '@helpers4/date';
isWithinRange(date: DateLike, start: DateLike, end: DateLike): boolean
ParameterTypeDescription
dateDateLikeThe date to check
startDateLikeStart of the range (inclusive)
endDateLikeEnd of the range (inclusive)

boolean — true if start <= date <= end

isWithinRange('2025-06-15', '2025-01-01', '2025-12-31') // => true
isWithinRange('2024-06-15', '2025-01-01', '2025-12-31') // => false

A date range represented as a pair of date-like values.

interface DateRange {
  end: DateLike;
  start: 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); 0 is treated as invalid and produces null in ensureDate
  • string — parsed via new Date(string)
  • Temporal.Instant | Temporal.ZonedDateTime — read via their epochMilliseconds property
type DateLike = Date | number | string | Temporal.Instant | Temporal.ZonedDateTime

View source on GitHub