12345678910111213141516 |
- import { isWithinInterval, parseISO, isEqual, isBefore } from 'date-fns';
- import isString from '../../utils/isString';
- /**
- * is the date between start and end?(not including start and end)
- * - if start > end, return false
- * @param {String|Date} day
- * @param {Object} { start: string|Date, end: string|Date}
- * @returns {Boolean}
- */
- export default function isBetween(day: string | Date, { start, end }: { start: string | Date; end: string | Date }) {
- const d = isString(day) ? parseISO(day) : day;
- const s = isString(start) ? parseISO(start) : start;
- const e = isString(end) ? parseISO(end) : end;
- return isBefore(s, e) && isWithinInterval(d, { start: s, end: e }) && !isEqual(d, s) && !isEqual(d, e);
- }
|