UNPKG

@chayns-components/date

Version:

A set of beautiful React components for developing your own applications with chayns.

144 lines (143 loc) • 5.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.subYears = exports.subMinutes = exports.subHours = exports.subDays = exports.startOfWeek = exports.startOfMonth = exports.isYesterday = exports.isWithinInterval = exports.isTomorrow = exports.isToday = exports.isSameMonth = exports.isSameDay = exports.isMorning = exports.isCurrentYear = exports.isBefore = exports.isAfter = exports.getIsDateNearToday = exports.endOfWeek = exports.eachDayOfInterval = exports.differenceInCalendarMonths = exports.addYears = exports.addMinutes = exports.addHours = exports.addDays = void 0; const isToday = date => { const today = new Date(); return today.toDateString() === date.toDateString(); }; exports.isToday = isToday; const isTomorrow = date => { const tomorrow = new Date(); tomorrow.setDate(tomorrow.getDate() + 1); return tomorrow.toDateString() === date.toDateString(); }; exports.isTomorrow = isTomorrow; const isYesterday = date => { const yesterday = new Date(); yesterday.setDate(yesterday.getDate() - 1); return yesterday.toDateString() === date.toDateString(); }; exports.isYesterday = isYesterday; const isCurrentYear = date => { const currentYear = new Date().getFullYear(); const yearOfGivenDate = date.getFullYear(); return currentYear === yearOfGivenDate; }; exports.isCurrentYear = isCurrentYear; const getIsDateNearToday = date => { const today = new Date(); today.setHours(0, 0, 0, 0); const targetDate = new Date(date); targetDate.setHours(0, 0, 0, 0); const diffInDays = (targetDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24); return diffInDays === 0 || diffInDays === -1 || diffInDays === 1; }; exports.getIsDateNearToday = getIsDateNearToday; const isMorning = date => { const hours = date.getHours(); return hours >= 0 && hours < 12; }; exports.isMorning = isMorning; const isAfter = (firstDate, secondDate) => { return firstDate.getTime() > secondDate.getTime(); }; exports.isAfter = isAfter; const isBefore = (firstDate, secondDate) => { return firstDate.getTime() < secondDate.getTime(); }; exports.isBefore = isBefore; const startOfMonth = date => { return new Date(date.getFullYear(), date.getMonth(), 1); }; exports.startOfMonth = startOfMonth; const addYears = (date, years) => { return new Date(date.getFullYear() + years, date.getMonth(), date.getDate()); }; exports.addYears = addYears; const differenceInCalendarMonths = (firstDate, secondDate) => { return (firstDate.getFullYear() - secondDate.getFullYear()) * 12 + (firstDate.getMonth() - secondDate.getMonth()); }; exports.differenceInCalendarMonths = differenceInCalendarMonths; const isSameDay = (firstDate, secondDate) => { return firstDate.getFullYear() === secondDate.getFullYear() && firstDate.getMonth() === secondDate.getMonth() && firstDate.getDate() === secondDate.getDate(); }; exports.isSameDay = isSameDay; const isSameMonth = (firstDate, secondDate) => { return firstDate.getFullYear() === secondDate.getFullYear() && firstDate.getMonth() === secondDate.getMonth(); }; exports.isSameMonth = isSameMonth; const isWithinInterval = (date, interval) => { return date.getTime() >= interval.start.getTime() && date.getTime() <= interval.end.getTime(); }; exports.isWithinInterval = isWithinInterval; const subYears = (date, years) => { return new Date(date.getFullYear() - years, date.getMonth(), date.getDate()); }; exports.subYears = subYears; const startOfWeek = date => { const day = date.getDay(); const diff = day === 0 ? -6 : 1 - day; const start = new Date(date); start.setDate(date.getDate() + diff); start.setHours(0, 0, 0, 0); return start; }; exports.startOfWeek = startOfWeek; const endOfWeek = date => { const day = date.getDay(); const diff = day === 0 ? 0 : 7 - day; const end = new Date(date); end.setDate(date.getDate() + diff); end.setHours(23, 59, 59, 999); return end; }; exports.endOfWeek = endOfWeek; const eachDayOfInterval = interval => { const days = []; const currentDate = new Date(interval.start); while (currentDate <= interval.end) { days.push(new Date(currentDate)); currentDate.setDate(currentDate.getDate() + 1); } return days; }; exports.eachDayOfInterval = eachDayOfInterval; const addDays = (date, days) => { const result = new Date(date); result.setDate(date.getDate() + days); return result; }; exports.addDays = addDays; const subDays = (date, days) => { const result = new Date(date); result.setDate(date.getDate() - days); return result; }; exports.subDays = subDays; const addHours = (date, hours) => { const result = new Date(date); result.setHours(date.getHours() + hours); return result; }; exports.addHours = addHours; const addMinutes = (date, minutes) => { const result = new Date(date); result.setMinutes(date.getMinutes() + minutes); return result; }; exports.addMinutes = addMinutes; const subHours = (date, hours) => { const result = new Date(date); result.setHours(date.getHours() - hours); return result; }; exports.subHours = subHours; const subMinutes = (date, minutes) => { const result = new Date(date); result.setMinutes(date.getMinutes() - minutes); return result; }; exports.subMinutes = subMinutes; //# sourceMappingURL=date.js.map