UNPKG

@syncfusion/react-calendars

Version:

A complete package of date or time components with built-in features such as date formatting, inline editing, multiple (range) selection, range restriction, month and year selection, strict mode, and globalization.

29 lines (28 loc) 882 B
export const addMonths = (actualDate, i) => { const date = new Date(actualDate.getTime()); const day = date.getDate(); date.setDate(1); date.setMonth(date.getMonth() + i); date.setDate(Math.min(day, getMaxDays(date))); return date; }; export const addYears = (date, years) => { const d = new Date(date); d.setFullYear(d.getFullYear() + years); return d; }; export const getWeekNumber = (date) => { const currentDate = new Date(date).valueOf(); const firstDayOfYear = new Date(date.getFullYear(), 0, 1).valueOf(); return Math.ceil((((currentDate - firstDayOfYear) + 86400000) / 86400000) / 7); }; const getMaxDays = (d) => { let date = 28; const tmpDate = new Date(d); const month = tmpDate.getMonth(); while (tmpDate.getMonth() === month) { ++date; tmpDate.setDate(date); } return date - 1; };