Skip to content

isValidDateTimeRange

isValidDateTimeRange({ value1, value2, options, }: { value1: string; value2: string; options?: { allowEqual?: boolean; }; }): boolean
import { isValidDateTimeRange } from "@northguild/gmt/plain/validate";

Return true if value1 and value2 form a valid datetime range — both parseable as

  • ISO PlainDateTime strings and value1 <= value2.
  • Both inputs must be ISO 8601 datetime strings (e.g. "2024-01-01T10:00:00").
  • Equal value1 === value2 is valid when options.allowEqual is true.
  • Invalid input, malformed strings, or leap-second strings return false.
Parameter Type Description
value1 `` first ISO PlainDateTime string
value2 `` second ISO PlainDateTime string
options `` optional allowEqual flag

boolean indicating whether the datetime range is valid

isValidDateTimeRange({ value1: "2024-01-01T10:00:00", value2: "2024-12-31T23:59:59" }) // true
isValidDateTimeRange({ value1: "2024-12-31T23:59:59", value2: "2024-01-01T10:00:00" }) // false
isValidDateTimeRange({ value1: "2024-01-01T10:00:00", value2: "2024-01-01T10:00:00", options: { allowEqual: true } }) // true

plain/validate/isValidDateTimeRange.ts