import formatDistanceStrict from "../formatDistanceStrict/index.js"; import requiredArgs from "../_lib/requiredArgs/index.js"; /** * @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 | * * @param {Date|Number} date - the given date * @param {Object} [options] - an object with options. * @param {Boolean} [options.addSuffix=false] - result indicates if the second date is earlier or later than the first * @param {'second'|'minute'|'hour'|'day'|'month'|'year'} [options.unit] - if specified, will force a unit * @param {'floor'|'ceil'|'round'} [options.roundingMethod='round'] - which way to round partial units * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale} * @returns {String} the distance in words * @throws {TypeError} 1 argument required * @throws {RangeError} `date` must not be Invalid Date * @throws {RangeError} `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 default function formatDistanceToNowStrict(dirtyDate, options) { requiredArgs(1, arguments); return formatDistanceStrict(dirtyDate, Date.now(), options); }