import { default as dayjs, OpUnitType, QUnitType } from 'dayjs'; import { DurationUnitType } from 'dayjs/plugin/duration'; /** * 使用dayjs的实例 * @param date - 日期 * @param fmt -格式 YYYY-MM-DD HH:mm:ss * @example * ```ts * //默认当前时间,返回dayjs()实例,可以format,diff,subtract等方法 * useDate().format('YYYY-MM-DD HH:mm:ss') * //指定时间戳 * useDate(1709286300000).format('YYYY-MM-DD HH:mm:ss') * useDate(2024-03-02 00:00) * useDate(new Date(2024, 2, 1)) * ``` */ export declare const useDate: (date?: dayjs.ConfigType, format?: dayjs.OptionType, strict?: boolean) => dayjs.Dayjs; /** * 给定日期转成特点格式字符串 * @param date - 日期 * @param fmt -格式 YYYY-MM-DD HH:mm:ss * @example * ```ts * dateFormat(1709286300000,'YYYY-MM-DD') * dateFormat(2024-03-02 00:00,'YYYY-MM-DD') * dateFormat(new Date(2024, 2, 1),'YYYY-MM-DD HH:mm') * ``` */ export declare const dateFormat: (date: dayjs.ConfigType, fmt?: string) => string; /** * 返回当前时间,默认到分钟的格式 * @param date - 日期 * @param fmt - 格式 * @returns date-日期 YYYY-MM-DD HH:mm * @example * ```ts * minute(1709286300000) * minute(2024-03-02 00:00) * minute(new Date(2024, 2, 1)) * ``` */ export declare const minute: (date: dayjs.ConfigType, fmt?: string) => string; /** * 返回月份天数 * @param date - 日期 * @returns 天数 */ export declare const dateMonthDays: (date?: dayjs.ConfigType) => number; /** * 返回前后i天的日期字符串 * @param i - 0返回今天的日期、1返回明天的日期,2返回后天得日期,依次类推 * @param format- 格式 YYYY-MM-DD * @returns format 格式的起始日期字符串 * ```ts * getCurrDate() * getCurrDate(1) * ``` */ export declare function getCurrDate(i?: number, format?: string): string; /** * 返回指定单位下两个日期时间之间的差异。 * @param date1 -第一个时间 * @param date2 -第二个时间,默认是今天 * @returns 两个日期时间之间的差异时间戳 * @example * ```ts * dateDiff(1709286300000) * dateDiff(1709286300000,1709286400000) * ``` */ export declare function dateDiff(date1: dayjs.ConfigType, date2?: dayjs.ConfigType, unit?: QUnitType | OpUnitType): number; type Format = { minuteAgo?: string; today?: string; yesterday?: string; future?: string; other?: string; }; /** * 根据指定日期距今天日期的时间差,展示不同格式。 * - 时间差小于1小时,展示为 X分钟前 * - 时间差-今天内,展示为 今天 HH:MM * - 时间差-昨天的时间,展示为 昨天 HH:MM * - 其他,展示为 YYYY/MM/DD * @param date - 指定日期 * @example * ```ts * dateFromNow('2024-03-02 00:00') * dateFromNow('2024-03-02 00:00',{ minuteAgo: '${m} 分钟前'}) * dateFromNow('2024-03-02 00:00', { other: `${YYYY-MM-DD}`}) * ``` */ export declare function dateFromNow(date: dayjs.ConfigType, _format?: Format): string; /** * 计算两个日期之间的差值(自然年月日) * @param startDate - 起始日期,格式为 'YYYY-MM-DD HH:mm:ss' * @param endDate - 结束日期,格式为 'YYYY-MM-DD HH:mm:ss' * @param format - 输出格式,如 'YY年MM月DD日', 'HH小时mm分钟ss秒' 等 (默认YY年MM个月DD天) * @returns 根据格式包含差值的字符串 */ export declare function dateDiffFormat(startDate: string | number | Date, endDate?: string | number | Date, format?: string): string; export declare function durationFormat(duration: string | number, config?: { unit?: DurationUnitType; format?: string; }): string; export declare function durationFormat(duration: string | number, config?: { unit?: DurationUnitType; format: Array; }): Array; /** * 根据传入的数值,返回格式化后的时间(会自动去掉为0的格式) * @param duration -传入的数值 * @param config - 可选的配置项(默认 unit='ms',format=''HH小时mm分钟') * * - unit 代表duration的值是什么单位, ('d' | 'D' | 'M' | 'y' |'H' | 'h' | 'm' | 's' | 'ms') - format 返回的数据格式 (比如:'HH小时mm分钟', ['D','H','m']等) * @returns 格式化后的时间 * @example * ```ts const m = durationFormatNoZero(61, { unit: 'm', }) const _date = durationFormatNoZero(61, { unit: 'm', format: 'HH:mm', }) * ``` */ export declare function durationFormatNoZero(duration: string | number, config?: { unit?: DurationUnitType; format?: string; }): Array | string; export {};