import { formatDistanceStrict } from "./formatDistanceStrict.mjs"; import { constructNow } from "./constructNow.mjs"; /** * The {@link formatDistanceToNowStrict} function options. */ /** * @name formatDistanceToNowStrict * @category Common Helpers * @summary Return the distance between the given date and now in words. * @pure false * * @description * Return the distance between the given dates in words, using strict units. * This is like `formatDistance`, but does not use helpers like 'almost', 'over', * 'less than' and the like. * * | Distance between dates | Result | * |------------------------|---------------------| * | 0 ... 59 secs | [0..59] seconds | * | 1 ... 59 mins | [1..59] minutes | * | 1 ... 23 hrs | [1..23] hours | * | 1 ... 29 days | [1..29] days | * | 1 ... 11 months | [1..11] months | * | 1 ... N years | [1..N] years | * * @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 date - The given date * @param options - An object with options. * * @returns The distance in words * * @throws `date` must not be Invalid Date * @throws `options.locale` must contain `formatDistance` property * * @example * // If today is 1 January 2015, what is the distance to 2 July 2014? * const result = formatDistanceToNowStrict( * new Date(2014, 6, 2) * ) * //=> '6 months' * * @example * // If now is 1 January 2015 00:00:00, * // what is the distance to 1 January 2015 00:00:15, including seconds? * const result = formatDistanceToNowStrict( * new Date(2015, 0, 1, 0, 0, 15) * ) * //=> '15 seconds' * * @example * // If today is 1 January 2015, * // what is the distance to 1 January 2016, with a suffix? * const result = formatDistanceToNowStrict( * new Date(2016, 0, 1), * {addSuffix: true} * ) * //=> 'in 1 year' * * @example * // If today is 28 January 2015, * // what is the distance to 1 January 2015, in months, rounded up?? * const result = formatDistanceToNowStrict(new Date(2015, 0, 1), { * unit: 'month', * roundingMethod: 'ceil' * }) * //=> '1 month' * * @example * // If today is 1 January 2015, * // what is the distance to 1 January 2016 in Esperanto? * const eoLocale = require('date-fns/locale/eo') * const result = formatDistanceToNowStrict( * new Date(2016, 0, 1), * {locale: eoLocale} * ) * //=> '1 jaro' */ export function formatDistanceToNowStrict(date, options) { return formatDistanceStrict(date, constructNow(date), options); } // Fallback for modularized imports: export default formatDistanceToNowStrict;