Skip to content

isZonedWeekend

isZonedWeekend(value: string, locale: string): boolean
import { isZonedWeekend } from "@northguild/gmt/zoned/compare";

Return true when value’s local calendar day falls on a weekend for locale.

  • Uses Intl.Locale.prototype.weekInfo to resolve which ISO weekday numbers count as “weekend” for the locale (e.g. en-US: Sat/Sun, he-IL/ar-SA: Fri/Sat).
  • Checks the ZonedDateTime’s own local day of week — no separate timezone conversion needed, since value already carries its IANA timezone.
  • Falls back to Saturday/Sunday if the runtime’s weekInfo data doesn’t resolve a weekend for the locale.
  • Returns false if value or locale is invalid.
Parameter Type Description
value string ISO ZonedDateTime string
locale string BCP 47 locale tag (e.g. “en-US”, “he-IL”)

true if value’s local day is a weekend day in locale, false on invalid input

isZonedWeekend("2024-02-03T10:00:00-05:00[America/New_York]", "en-US") // true (Saturday)
isZonedWeekend("2024-02-02T10:00:00+02:00[Asia/Jerusalem]", "he-IL") // true (Friday, he-IL weekend is Fri/Sat)
isZonedWeekend("2024-02-04T10:00:00+02:00[Asia/Jerusalem]", "he-IL") // false (Sunday)
isZonedWeekend("invalid", "en-US") // false
isZonedWeekend("2024-02-03T10:00:00-05:00[America/New_York]", "not-a-locale") // false

zoned/compare/isZonedWeekend.ts