Skip to content

getLocaleStartOfWeek

getLocaleStartOfWeek(value: string, locale: string): string
import { getLocaleStartOfWeek } from "@northguild/gmt/plain/calculate";

Return the start of the week containing value, using locale’s

  • first day of week (e.g. en-US: Sunday, fr-FR: Monday).
  • Resolves the locale’s first day of week via Intl.Locale.prototype.weekInfo.
  • Falls back to Monday if the runtime’s weekInfo data doesn’t resolve a first day for the locale.
  • Distinct from startOfDate(value, "week", { weekStartsOn }), which takes an explicit ISO-biased weekStartsOn option instead of deriving it from a locale.
  • Returns “” if value or locale is invalid.
Parameter Type Description
value string ISO 8601 date string
locale string BCP 47 locale tag (e.g. “en-US”, “fr-FR”)

ISO 8601 date string for the start of value’s locale-relative week, or “” on invalid input

getLocaleStartOfWeek("2024-02-29", "en-US") // "2024-02-25" (Sunday)
getLocaleStartOfWeek("2024-02-29", "fr-FR") // "2024-02-26" (Monday)
getLocaleStartOfWeek("invalid-date", "en-US") // ""
getLocaleStartOfWeek("2024-02-29", "not-a-locale") // ""

plain/calculate/getLocaleStartOfWeek.ts