Skip to content

intervalContainsTime

intervalContainsTime(intervalStart: string, intervalEnd: string, pointOrStart: string, pointEnd?: string): boolean
import { intervalContainsTime } from "@northguild/gmt/plain/interval";

Return true when pointOrStart falls within the interval [intervalStart, intervalEnd]

  • (3-arg), or when the inner interval [innerStart, innerEnd] is fully contained within the outer interval [intervalStart, intervalEnd] (4-arg).
  • Uses Temporal.PlainTime.compare for comparison.
  • Always-inclusive boundaries: start <= point <= end.
  • Returns false if intervalStart > intervalEnd (invalid outer interval).
  • Returns false if innerStart > innerEnd in 4-arg mode (invalid inner interval).
  • Returns false on invalid input (wrong type, malformed strings, leap seconds).
Parameter Type Description
intervalStart string ISO 8601 time string for the outer interval start
intervalEnd string ISO 8601 time string for the outer interval end
pointOrStart string ISO 8601 time string for the point (3-arg) or inner start (4-arg)
pointEnd string optional ISO 8601 time string for the inner interval end (4-arg mode)

true if the point or inner interval is contained, or false on invalid input

intervalContainsTime("09:00:00", "17:00:00", "12:00:00") // true
intervalContainsTime("09:00:00", "17:00:00", "12:00:00", "13:00:00") // true
intervalContainsTime("17:00:00", "09:00:00", "12:00:00") // false
intervalContainsTime("09:00:00", "17:00:00", "12:00:00", "11:00:00") // false
intervalContainsTime("invalid", "17:00:00", "12:00:00") // false

plain/interval/intervalContainsTime.ts