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

Function getISOWeekYear

pkgs/core/src/getISOWeekYear/index.ts:31–55  ·  view source on GitHub ↗
(
  date: DateArg<Date> & {},
  options?: GetISOWeekYearOptions | undefined,
)

Source from the content-addressed store, hash-verified

29 * //=> 2004
30 */
31export function getISOWeekYear(
32 date: DateArg<Date> & {},
33 options?: GetISOWeekYearOptions | undefined,
34): number {
35 const _date = toDate(date, options?.in);
36 const year = _date.getFullYear();
37
38 const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);
39 fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
40 fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
41 const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);
42
43 const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);
44 fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);
45 fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);
46 const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);
47
48 if (_date.getTime() >= startOfNextYear.getTime()) {
49 return year + 1;
50 } else if (_date.getTime() >= startOfThisYear.getTime()) {
51 return year;
52 } else {
53 return year - 1;
54 }
55}

Callers 8

startOfISOWeekYearFunction · 0.90
index.tsFile · 0.90
endOfISOWeekYearFunction · 0.90
lastDayOfISOWeekYearFunction · 0.90
addISOWeekYearsFunction · 0.90
test.tsFile · 0.90
_testFunction · 0.90

Calls 3

toDateFunction · 0.90
constructFromFunction · 0.90
startOfISOWeekFunction · 0.90

Tested by

no test coverage detected