Skip to content

getLocaleWeekdayNames

getLocaleWeekdayNames(locale: string | string[], style?: LocaleNameStyle): string[]

Return the 7 weekday names for a locale, ordered starting from the locale’s first day of the week.

  • The order is the locale’s first day of the week, never its weekend. For en-US and ar-SA the array starts with Sunday, for fr-FR with Monday, for ar-EG with Saturday — matching GMT’s existing locale-first-day convention in getLocaleDayOfWeek / getLocaleStartOfWeek. ar-SA’s weekend is Friday and Saturday (new Intl.Locale("ar-SA").getWeekInfo() is { firstDay: 7, weekend: [5, 6] }), but its week still begins on Sunday; a locale’s weekend says nothing about where its week starts.
  • This ordering is consistent with getLocaleDayOfWeek: for any valid date, getLocaleWeekdayNames(locale)[getLocaleDayOfWeek(date, locale)] is that date’s localized weekday name.
  • Uses the host runtime’s Intl data via Temporal.PlainDate, so output depends on the runtime’s ICU build.
  • Returns [] if 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
localestring | string[]BCP 47 locale tag (e.g. “en-US”, “fr-FR”, “ar-SA”), 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 []
styleLocaleNameStyleOptional name style: "long" (default), "short", or "narrow"

7-element array of weekday names from the locale’s first day, or [] on invalid input

import { getLocaleWeekdayNames } from "@northguild/gmt/plain/locale";
getLocaleWeekdayNames("en-US") // ["Sunday", "Monday", ... "Saturday"]
output 

plain/locale/getLocaleWeekdayNames.ts