snoby-utils
Version:
A javascrpt utils.
67 lines • 2.52 kB
TypeScript
import { Dayjs } from 'dayjs';
/**
* 判断是00:00
* @param date 需要检验的时间
* @returns 是否是 00:00
*
*
* @example
* ```ts
* is0000(dayjs('2025-01-01T00:00')) // true
* is0000(dayjs('2025-01-01T08:00')) // false
* ```
*/
export declare function is0000(date: string | Date | Dayjs): boolean;
/**
* 判断是24:00
* @param date 需要检验的时间
* @returns 是否是 24:00
*
*
* @example
* ```ts
* is2400(dayjs('2025-01-01T00:00')) // false
* is2400(dayjs('2025-01-01T24:00')) // true
* ```
*/
export declare function is2400(date: string | Date | Dayjs): boolean;
/**
* 将输入的时间字符串对齐到最近的指定分钟间隔
* @param inputTime - 时间字符串,例如 '2025-06-29T23:59:00'
* @param interval - 分钟间隔,必须是 [5, 10, 15, 30, 60] 中的一个
* @returns 格式化后的时间字符串,如 '2025-06-30 00:15'
*/
export declare function mapToNearest15MinInterval(dateTime: string, interval?: number): string;
/**
* 生成指定数量的小时字符串数组(默认 24 小时)
*
* @param count - 要生成的小时数,默认 24
* @returns 小时字符串数组,如 ["00", "01", ..., "23"]
*/
export declare function generateHourOptions(count?: number): string[];
/**
* 生成带分钟粒度的时间选项(如每 30 分钟一个)
* @param totalMinutesInDay - 分钟总数,默认 24 * 60
* @param step - 分钟步长,默认 15(即每15分钟一个)
* @returns 时间字符串数组,如 ["00:00", "00:30", "01:00", ...]
*/
export declare function generateTimeOptionsWithStep(totalMinutesInDay?: number, step?: number): string[];
/**
* 计算两个时间戳之间相差的自然日,每满 24 小时就算一天
* @param timestamp1 时间戳1
* @param timestamp2 时间戳2
* @returns
*/
export declare function dayDifference(timestamp1: number | Date | Dayjs | string, timestamp2: number | Date | Dayjs | string): number;
/**
* 计算两个日期时间之间的持续时间
*
* @param startDateTime 开始日期时间,格式为 时间戳、字符串、Date类型、Dayjs类型
* @param endDateTime 结束日期时间,格式为 时间戳、字符串、Date类型、Dayjs类型
* @returns 返回一个包含小时和分钟的对象,表示两个日期时间之间的持续时间
*/
export declare function calcDurationDate(startDateTime: number | Date | Dayjs | string, endDateTime: number | Date | Dayjs | string): {
hours: number;
minutes: number;
};
//# sourceMappingURL=time.d.ts.map