| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { startOfWeek } from "./startOfWeek.mjs";
- /**
- * The {@link isSameWeek} function options.
- */
- /**
- * @name isSameWeek
- * @category Week Helpers
- * @summary Are the given dates in the same week (and month and year)?
- *
- * @description
- * Are the given dates in the same week (and month and year)?
- *
- * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).
- *
- * @param dateLeft - The first date to check
- * @param dateRight - The second date to check
- * @param options - An object with options
- *
- * @returns The dates are in the same week (and month and year)
- *
- * @example
- * // Are 31 August 2014 and 4 September 2014 in the same week?
- * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4))
- * //=> true
- *
- * @example
- * // If week starts with Monday,
- * // are 31 August 2014 and 4 September 2014 in the same week?
- * const result = isSameWeek(new Date(2014, 7, 31), new Date(2014, 8, 4), {
- * weekStartsOn: 1
- * })
- * //=> false
- *
- * @example
- * // Are 1 January 2014 and 1 January 2015 in the same week?
- * const result = isSameWeek(new Date(2014, 0, 1), new Date(2015, 0, 1))
- * //=> false
- */
- export function isSameWeek(dateLeft, dateRight, options) {
- const dateLeftStartOfWeek = startOfWeek(dateLeft, options);
- const dateRightStartOfWeek = startOfWeek(dateRight, options);
- return +dateLeftStartOfWeek === +dateRightStartOfWeek;
- }
- // Fallback for modularized imports:
- export default isSameWeek;
|