2025-11-13 13:13:34 -07:00

46 lines
1.2 KiB
JavaScript

import { constructNow } from "./constructNow.js";
import { getMonth as coreGetMonth } from "./_core/getMonth.js";
import { getDate as coreGetDate } from "./_core/getDate.js";
import { getFullYear as coreGetFullYear } from "./_core/getFullYear.js";
import { setFullYear as coreSetFullYear } from "./_core/setFullYear.js";
/**
* The {@link startOfYesterday} function options.
*/
/**
* @name startOfYesterday
* @category Day Helpers
* @summary Return the start of yesterday.
* @pure false
*
* @typeParam ContextDate - The `Date` type of the context function.
*
* @param options - An object with options
*
* @description
* Return the start of yesterday.
*
* @returns The start of yesterday
*
* @example
* // If today is 6 October 2014:
* const result = startOfYesterday()
* //=> Sun Oct 5 2014 00:00:00
*/
export function startOfYesterday(options) {
const now = constructNow(options?.in);
const year = coreGetFullYear(now);
const month = coreGetMonth(now);
const day = coreGetDate(now);
const date = constructNow(options?.in);
coreSetFullYear(date, year, month, day - 1);
date.setHours(0, 0, 0, 0);
return date;
}
// Fallback for modularized imports:
export default startOfYesterday;