import { normalizeDates } from "./_lib/normalizeDates.js"; import { startOfDay } from "./startOfDay.js"; /** * The {@link isSameDay} function options. */ /** * @name isSameDay * @category Day Helpers * @summary Are the given dates in the same day (and year and month)? * * @description * Are the given dates in the same day (and year and month)? * * @param laterDate - The first date to check * @param earlierDate - The second date to check * @param options - An object with options * * @returns The dates are in the same day (and year and month) * * @example * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day? * const result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0)) * //=> true * * @example * // Are 4 September and 4 October in the same day? * const result = isSameDay(new Date(2014, 8, 4), new Date(2014, 9, 4)) * //=> false * * @example * // Are 4 September, 2014 and 4 September, 2015 in the same day? * const result = isSameDay(new Date(2014, 8, 4), new Date(2015, 8, 4)) * //=> false */ export function isSameDay(laterDate, earlierDate, options) { const [dateLeft_, dateRight_] = normalizeDates( options?.in, laterDate, earlierDate, ); return +startOfDay(dateLeft_) === +startOfDay(dateRight_); } // Fallback for modularized imports: export default isSameDay;