Skip to content

getLocaleEndOfWeek

getLocaleEndOfWeek(value: string, locale: string | string[]): string

Return the end of the week containing value, using locale’s first day of week (e.g. en-US: week ends Saturday, fr-FR: week ends Sunday).

  • Resolves the locale’s first day of week via Intl.Locale.prototype.weekInfo.
  • Falls back to Monday-start (so the week ends Sunday) if the runtime’s weekInfo data doesn’t resolve a first day for the locale.
  • Distinct from endOfDate(value, "week", { weekStartsOn }), which takes an explicit ISO-biased weekStartsOn option instead of deriving it from a locale.
  • Returns "" if value is invalid or locale is not a well-formed BCP 47 tag (ECMA-402 IsWellFormedLanguageTag). A well-formed tag with no matching locale data is not an error: it falls back to the host’s default locale, as ECMA-402 ResolveLocale requires.
ParameterTypeDescription
valuestringISO 8601 date string
localestring | string[]BCP 47 locale tag (e.g. “en-US”, “fr-FR”), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns ""

ISO 8601 date string for the end of value’s locale-relative week, or "" on invalid input

import { getLocaleEndOfWeek } from "@northguild/gmt/plain/calculate";
getLocaleEndOfWeek("2024-02-29", "en-US") // "2024-03-02" (Saturday)
output 

plain/calculate/getLocaleEndOfWeek.ts