UNPKG

uno-js

Version:

JS/TS common used functions, zero dependencies

34 lines (33 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getDateOfISOWeek = exports.getIsoYear = exports.getIsoYearByDate = exports.getWeekIsoOfYear = exports.getWeekIsoNumber = exports.getWeekOfYear = exports.getWeekNumber = void 0; const getWeekNumber = (date) => { const onejan = new Date(date.getFullYear(), 0, 1); return Math.ceil(((date.getTime() - onejan.getTime()) / 86400000 + onejan.getDay() + 1) / 7); }; exports.getWeekNumber = getWeekNumber; const getWeekOfYear = () => (0, exports.getWeekNumber)(new Date()); exports.getWeekOfYear = getWeekOfYear; const getWeekIsoNumber = (date) => { const dayOfWeek = date.getDay(); const thursday = new Date(date.getFullYear(), date.getMonth(), date.getDate() + (4 - dayOfWeek)); return Math.ceil(((thursday.getTime() - new Date(thursday.getFullYear(), 0, 1).getTime()) / 86400000 + 1) / 7); }; exports.getWeekIsoNumber = getWeekIsoNumber; const getWeekIsoOfYear = () => (0, exports.getWeekIsoNumber)(new Date()); exports.getWeekIsoOfYear = getWeekIsoOfYear; const getIsoYearByDate = (date) => { const dayOfWeek = date.getDay() === 0 ? 7 : date.getDay(); const thursday = new Date(date); thursday.setDate(date.getDate() + (4 - dayOfWeek)); return thursday.getFullYear(); }; exports.getIsoYearByDate = getIsoYearByDate; const getIsoYear = () => (0, exports.getIsoYearByDate)(new Date()); exports.getIsoYear = getIsoYear; const getDateOfISOWeek = (week, year) => { const isoReferenceDate = new Date(year, 0, 4); const firstMondayOfISOWeek = new Date(year, 0, 4 - ((isoReferenceDate.getDay() + 6) % 7)); return new Date(firstMondayOfISOWeek.getFullYear(), firstMondayOfISOWeek.getMonth(), firstMondayOfISOWeek.getDate() + (week - 1) * 7); }; exports.getDateOfISOWeek = getDateOfISOWeek;