Skip to content

isValidUtcRange

isValidUtcRange(props: { value1: string; value2: string; options?: { allowEqual?: boolean; }; }): boolean

Return true if value1 and value2 form a valid UTC range — both parseable as ISO UTC datetime strings and the instant at value1 is before the instant at value2.

  • Both inputs must be ISO 8601 UTC datetime strings (e.g. "2024-01-01T10:00:00Z"), as isValidUtc accepts, annotations included.
  • Leap-second strings return false.
  • Invalid input or malformed strings return false.

props

The two ends of the range, and whether equal ends are valid

OptionTypeDefaultDescription
value1stringRequiredThe start of the range, as an ISO UTC datetime string.
value2stringRequiredThe end of the range, as an ISO UTC datetime string.
options?objectNone. Two values at the same instant are not a valid range.The settings for the comparison. It must be an object or omitted; any other value, null included, returns false.
options.allowEqual?booleanfalseWhether value1 at the same instant as value2 is a valid range. false requires value1 to be before value2.

boolean indicating whether the UTC range is valid

import { isValidUtcRange } from "@northguild/gmt/utc/validate";
isValidUtcRange({ value1: "2024-01-01T10:00:00Z", value2: "2024-12-31T23:59:59Z" }) // true
output 

utc/validate/isValidUtcRange.ts