MCPcopy
hub / github.com/date-fns/date-fns / getWeekOfMonth

Function getWeekOfMonth

pkgs/core/src/getWeekOfMonth/index.ts:37–59  ·  view source on GitHub ↗
(
  date: DateArg<Date> & {},
  options?: GetWeekOfMonthOptions,
)

Source from the content-addressed store, hash-verified

35 * //=> 2
36 */
37export function getWeekOfMonth(
38 date: DateArg<Date> & {},
39 options?: GetWeekOfMonthOptions,
40): number {
41 const defaultOptions = getDefaultOptions();
42 const weekStartsOn =
43 options?.weekStartsOn ??
44 options?.locale?.options?.weekStartsOn ??
45 defaultOptions.weekStartsOn ??
46 defaultOptions.locale?.options?.weekStartsOn ??
47 0;
48
49 const currentDayOfMonth = getDate(toDate(date, options?.in));
50 if (isNaN(currentDayOfMonth)) return NaN;
51
52 const startWeekDay = getDay(startOfMonth(date, options));
53
54 let lastDayOfFirstWeek = weekStartsOn - startWeekDay;
55 if (lastDayOfFirstWeek <= 0) lastDayOfFirstWeek += 7;
56
57 const remainingDaysAfterFirstWeek = currentDayOfMonth - lastDayOfFirstWeek;
58 return Math.ceil(remainingDaysAfterFirstWeek / 7) + 1;
59}

Callers 3

test.tsFile · 0.90
test.tsFile · 0.90
_testFunction · 0.90

Calls 5

getDefaultOptionsFunction · 0.90
getDateFunction · 0.90
toDateFunction · 0.90
getDayFunction · 0.90
startOfMonthFunction · 0.90

Tested by

no test coverage detected