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

Function getWeekYear

pkgs/core/src/getWeekYear/index.ts:57–89  ·  view source on GitHub ↗
(
  date: DateArg<Date> & {},
  options?: GetWeekYearOptions,
)

Source from the content-addressed store, hash-verified

55 * //=> 2004
56 */
57export function getWeekYear(
58 date: DateArg<Date> & {},
59 options?: GetWeekYearOptions,
60): number {
61 const _date = toDate(date, options?.in);
62 const year = _date.getFullYear();
63
64 const defaultOptions = getDefaultOptions();
65 const firstWeekContainsDate =
66 options?.firstWeekContainsDate ??
67 options?.locale?.options?.firstWeekContainsDate ??
68 defaultOptions.firstWeekContainsDate ??
69 defaultOptions.locale?.options?.firstWeekContainsDate ??
70 1;
71
72 const firstWeekOfNextYear = constructFrom(options?.in || date, 0);
73 firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
74 firstWeekOfNextYear.setHours(0, 0, 0, 0);
75 const startOfNextYear = startOfWeek(firstWeekOfNextYear, options);
76
77 const firstWeekOfThisYear = constructFrom(options?.in || date, 0);
78 firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);
79 firstWeekOfThisYear.setHours(0, 0, 0, 0);
80 const startOfThisYear = startOfWeek(firstWeekOfThisYear, options);
81
82 if (+_date >= +startOfNextYear) {
83 return year + 1;
84 } else if (+_date >= +startOfThisYear) {
85 return year;
86 } else {
87 return year - 1;
88 }
89}

Callers 6

startOfWeekYearFunction · 0.90
index.tsFile · 0.90
test.tsFile · 0.90
_testFunction · 0.90
setMethod · 0.90
test.tsFile · 0.90

Calls 4

toDateFunction · 0.90
getDefaultOptionsFunction · 0.90
constructFromFunction · 0.90
startOfWeekFunction · 0.90

Tested by

no test coverage detected