Skip to content

isValidUtcInterval

isValidUtcInterval(start: string, end: string): boolean

Return true if start and end form a valid UTC interval — both parseable as ISO UTC datetime strings and the instant at start is <= the instant at end.

  • Both inputs must be ISO 8601 UTC datetime strings (e.g. "2024-01-01T10:00:00Z").
  • Equal start === end is valid.
  • Leap-second strings return false.
  • Invalid input or malformed strings return false.
  • Each endpoint must satisfy isValidUtc, so annotations are read as Temporal.Instant.from reads them: a time zone annotation ([Asia/Tokyo]), any calendar annotation and an elective annotation ([foo=bar]) are ignored; an unknown critical annotation ([!foo=bar]) is rejected.
ParameterTypeDescription
startstringISO 8601 UTC datetime string (interval start)
endstringISO 8601 UTC datetime string (interval end)

true if start and end form a valid UTC interval, or false on invalid input

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

utc/interval/validate/isValidUtcInterval.ts