Skip to content

isZonedRelativeDay

isZonedRelativeDay(value: string, offsetDays: number): boolean

Return true when value’s local calendar day falls offsetDays days from today in value’s own IANA timeZone.

  • Subsumes isZonedToday/isZonedYesterday/isZonedTomorrow: offsetDays: 0 is “today”, -1 is “yesterday”, 1 is “tomorrow”, and any other integer offset works the same way.
  • “Today” is resolved in value’s own timeZone — no separate timeZone argument needed, since value already carries its IANA timeZone. This is the deterministic counterpart to isRelativeDay, which depends on the system clock and system timeZone: the same instant is “today” in Pacific/Apia and “yesterday” in Pacific/Niue, a 24-hour spread.
  • offsetDays must be an integer; non-integer or non-finite values return false.
  • Returns false if value is invalid.
ParameterTypeDescription
valuestringISO ZonedDateTime string
offsetDaysnumberinteger number of days from today in value’s own timeZone

true if value’s local day is exactly offsetDays days from today in its own timeZone, false on invalid input

import { isZonedRelativeDay } from "@northguild/gmt/zoned/compare";
isZonedRelativeDay("2024-03-15T10:00:00-04:00[America/New_York]", 0) // true, if today is 2024-03-15 in America/New_York
output 

zoned/compare/isZonedRelativeDay.ts