📝 Commit Details:
This commit is contained in:
53
backend/node_modules/date-fns/getISOWeekYear.js
generated
vendored
Normal file
53
backend/node_modules/date-fns/getISOWeekYear.js
generated
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
import { constructFrom } from "./constructFrom.js";
|
||||
import { startOfISOWeek } from "./startOfISOWeek.js";
|
||||
import { toDate } from "./toDate.js";
|
||||
|
||||
/**
|
||||
* The {@link getISOWeekYear} function options.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name getISOWeekYear
|
||||
* @category ISO Week-Numbering Year Helpers
|
||||
* @summary Get the ISO week-numbering year of the given date.
|
||||
*
|
||||
* @description
|
||||
* Get the ISO week-numbering year of the given date,
|
||||
* which always starts 3 days before the year's first Thursday.
|
||||
*
|
||||
* ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date
|
||||
*
|
||||
* @param date - The given date
|
||||
*
|
||||
* @returns The ISO week-numbering year
|
||||
*
|
||||
* @example
|
||||
* // Which ISO-week numbering year is 2 January 2005?
|
||||
* const result = getISOWeekYear(new Date(2005, 0, 2))
|
||||
* //=> 2004
|
||||
*/
|
||||
export function getISOWeekYear(date, options) {
|
||||
const _date = toDate(date, options?.in);
|
||||
const year = _date.getFullYear();
|
||||
|
||||
const fourthOfJanuaryOfNextYear = constructFrom(_date, 0);
|
||||
fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
|
||||
fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
|
||||
const startOfNextYear = startOfISOWeek(fourthOfJanuaryOfNextYear);
|
||||
|
||||
const fourthOfJanuaryOfThisYear = constructFrom(_date, 0);
|
||||
fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);
|
||||
fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);
|
||||
const startOfThisYear = startOfISOWeek(fourthOfJanuaryOfThisYear);
|
||||
|
||||
if (_date.getTime() >= startOfNextYear.getTime()) {
|
||||
return year + 1;
|
||||
} else if (_date.getTime() >= startOfThisYear.getTime()) {
|
||||
return year;
|
||||
} else {
|
||||
return year - 1;
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback for modularized imports:
|
||||
export default getISOWeekYear;
|
Reference in New Issue
Block a user