diff options
Diffstat (limited to 'node_modules/date-fns/esm/getISOWeeksInYear/index.js')
| -rw-r--r-- | node_modules/date-fns/esm/getISOWeeksInYear/index.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/date-fns/esm/getISOWeeksInYear/index.js b/node_modules/date-fns/esm/getISOWeeksInYear/index.js new file mode 100644 index 0000000..14701fa --- /dev/null +++ b/node_modules/date-fns/esm/getISOWeeksInYear/index.js @@ -0,0 +1,34 @@ +import startOfISOWeekYear from "../startOfISOWeekYear/index.js"; +import addWeeks from "../addWeeks/index.js"; +import requiredArgs from "../_lib/requiredArgs/index.js"; +var MILLISECONDS_IN_WEEK = 604800000; + +/** + * @name getISOWeeksInYear + * @category ISO Week-Numbering Year Helpers + * @summary Get the number of weeks in an ISO week-numbering year of the given date. + * + * @description + * Get the number of weeks in an ISO week-numbering year of the given date. + * + * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date + * + * @param {Date|Number} date - the given date + * @returns {Number} the number of ISO weeks in a year + * @throws {TypeError} 1 argument required + * + * @example + * // How many weeks are in ISO week-numbering year 2015? + * const result = getISOWeeksInYear(new Date(2015, 1, 11)) + * //=> 53 + */ +export default function getISOWeeksInYear(dirtyDate) { + requiredArgs(1, arguments); + var thisYear = startOfISOWeekYear(dirtyDate); + var nextYear = startOfISOWeekYear(addWeeks(thisYear, 60)); + var diff = nextYear.valueOf() - thisYear.valueOf(); + // Round the number of weeks to the nearest integer + // because the number of milliseconds in a week is not constant + // (e.g. it's different in the week of the daylight saving time clock shift) + return Math.round(diff / MILLISECONDS_IN_WEEK); +}
\ No newline at end of file |
