js-xxx
Version:
前端 JavaScript 常用函数/工具/方法库
164 lines • 5.87 kB
TypeScript
/**
* 时间格式化
* @example
* formatDate(new Date(), 'yyyy-mm-dd hh:ii:ss Q S W', ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']); /// '2022-04-26 11:33:53 2 123 星期二'
* // @before-2.2.0
* formatDate(); /// '当前时间 yyyy-mm-dd hh:ii:ss'
* // @since-2.2.0
* formatDate(); /// undefined
* @param date 时间
* @param fmt 格式化模板 'yyyy-mm-dd hh:ii:ss'
* @param weeks 星期对应数组 [7, 1, 2, 3, 4, 5, 6]
* @returns
* @category Date-日期相关
*/
export declare function formatDate(date?: any, fmt?: string, weeks?: any[]): any;
/**
* 时间计算
* @example
* calcDate(new Date(), '-1 days'); /// date object
* calcDate(new Date(), '-1 DAYS'); /// date object
* calcDate(new Date(), ['-1 day', '+1 year', '-2 month', '2 weeks', '1 hour', '-3 minute', '45 seconds']); /// date object
* @param date 时间
* @param calcStrOrArr '1 days' or ['-1 day', '3 month']
* @returns
* @category Date-日期相关
*/
export declare function calcDate(date: string | Date, calcStrOrArr: string | string[]): Date;
/**
* 两个时间差距计算
* @example
* getDateDifference(new Date('2022-05-01'), new Date(), 'day'); /// 37
* getDateDifference(new Date('2022-05-01'), new Date(), 'all'); /// {days: 37, hours: 8, minutes: 46, seconds: 47}
* @param oldDate 久远一点的时间
* @param nowDate 近一点的时间,默认当前时间。
* @param type 计算方式,默认计算差距的精确天数、时分秒。
* @returns
* @category Date-日期相关
*/
export declare function getDateDifference(oldDate: string | Date, nowDate?: string | Date, type?: 'all' | 'day' | 'days' | 'hour' | 'hours' | 'minute' | 'minutes' | 'second' | 'seconds' | 'ALL' | 'DAY' | 'DAYS' | 'HOUR' | 'HOURS' | 'MINUTE' | 'MINUTES' | 'SECOND' | 'SECONDS'): number | {
days: number;
hours: number;
minutes: number;
seconds: number;
};
/**
* 人性化时间
* @example
* timeSince(new Date()); /// '刚刚'
* @param date 时间/string
* @param longAgo 是否显示周月甚至更久
* @param formatter 正常显示时的时间显示格式
* @returns
* @category Date-日期相关
*/
export declare function timeSince(date?: string | Date, longAgo?: boolean, formatter?: string): any;
/**
* 检查所提供的日期是否为工作日
* @example
* isWorkDay(new Date()); /// true
* @param date 日期
* @returns
* @category Date-日期相关
*/
export declare function isWeekday(date?: string | Date): boolean;
/**
* 获取日期所在的年份中的天数
* @example
* getDayInYear('2023/06/23'); /// 174
* @param date 日期
* @returns
* @category Date-日期相关
*/
export declare function getDayInYear(date?: string | Date): number;
/**
* 获取指定日期数目的数组
* @example
* getDateList(7, 'day'); /// 得到今天到未来 7 天的日期数组
* getDateList(-7, 'day'); /// 得到今天到之前 7 天的日期数组
* getDateList(7, 'year'); /// 得到今年到未来 7 年的日期数组
* getDateList(7, 'month'); /// 得到本月到未来 7 个月的日期数组
* getDateList(7, 'day', '2023-02-01'); /// 得到 2023-02-01 日到未来 7 天的日期数组
* @param n 数目
* @param type 类型
* @param date 日期
* @returns
* @category Date-日期相关
*/
export declare function getDateList(n: number, type?: 'year' | 'month' | 'day' | 'hour' | 'minute' | 'second', date?: any): string[];
/**
* 获取日期时间戳
* @example
* getDateTime(new Date()); /// time stamp
* @param date 日期
* @returns
* @category Date-日期相关
*/
export declare function getDateTime(date?: string | Date): number;
/**
* 时间大小比较
* -1(A<B), 1(A>B), 0(A=B)
* @example
* compareDate('2023-1-1'); /// 1
* compareDate('2023-1-1 12:00:00', '2023-1-2 12:00:00'); /// -1
* @param dateA 时间 A
* @param dateB 时间 B
* @returns
* @category Date-日期相关
*/
export declare function compareDate(dateA: any, dateB?: any): -1 | 1 | 0;
/**
* 倒计时
* @example
* console.time('test'); countdown(10, (x) => console.log('--->', x), () => console.timeEnd('test')); /// test: 10023.636962890625 ms
* @param seconds 秒数
* @param callback 回调函数
* @param finishCallBack 完成回调函数
* @returns
* @category Date-日期相关
*/
export declare function countdown(seconds: number, callback?: any, finishCallBack?: any): any;
/**
* 转换音视频时长,把秒数转换为 hh:ii:ss 格式。
* @example
* transferSeconds(1234); /// '00:20:34'
* transferSeconds(1234, true); /// {h: '00', i: 20, s: 34}
* @param duration 时间/秒
* @param returnObj 是否返回对象
* @returns
* @category Date-日期相关
*/
export declare function transferSeconds(duration: number, returnObj?: boolean): string | any;
/**
* 获取月份天数
* @example
* getMonthDayCount(new Date()); /// 30
* @param date 日期
* @returns
* @category Date-日期相关
*/
export declare function getMonthDayCount(date?: string | Date): number;
/**
* 获取标准时间 UTC
* 适用于本地时间不准确或者获取其他时区时间的情况
* @example
* getUTCTime(8); /// 中国标准时间-东八区
* @param timezone 时区数字,东八区为 8,西八区为 -8 。
* @returns
* @category Date-日期相关
*/
export declare function getUTCTime(timezone?: number): Date;
/**
* 获取当前时区的标准格式表示。
* @example
* // 如果时区为 UTC+8
* getTimezone(); // '+8'
* // 如果时区为 UTC-5
* getTimezone(); // '-5'
* // 如果时区为 UTC
* getTimezone(); // '+0'
* @returns
* @category Date-日期相关
*/
export declare function getTimezone(): string;
//# sourceMappingURL=index.d.ts.map