/**
 * Date工具模块
 * @date 2022-03
 * @author 何华东
 */
/**
 Date工具

 注：字符串转Date时，如果字符串只有日期部分，那么转换后的Date的时间部分为08:00:00(东八区)
 let date = new Date('2016-04-12');
 logger.info(`${date}`);//=>Tue Apr 12 2016 08:00:00 GMT+0800 (中国标准时间)
 logger.info(date);//=>2016-04-12T00:00:00.000Z
 */
export default class DateUtils {
    /**
     * 时间格式化
     * @param date 需要格式化的时间
     * @param format 时间格式字符串，默认为：'YYYY-MM-DD HH:mm:ss'
     * @returns
     */
    static format(date: any, format?: string): string;
    /**
     * 获取unix时间戳
     * @param date
     * @returns
     */
    static getUnixTimestamp(date?: any): any;
    /**
     * 求两个时间相差月份数
     * @param dateFrom 开始时间
     * @param dateTo 结束时间
     */
    static diffMonths(dateFrom: any, dateTo: any): any;
    /**
     * 求两个时间相差分钟数
     * @param dateFrom 开始时间
     * @param dateTo 结束时间
     */
    static diffMinutes(dateFrom: any, dateTo: any): any;
    /**
     * 求两个时间相差天数
     * @param dateFrom 开始时间
     * @param dateTo 结束时间
     */
    static diffDays(dateFrom: any, dateTo: any): any;
    /**
     * 求两个时间相差秒数
     * @param dateFrom 开始时间
     * @param dateTo 结束时间
     * @returns
     */
    static diffSeconds(dateFrom: any, dateTo: any): any;
    /**
     * 对Date的时间部分清零
     * @param date 需要清理的时间
     * @returns
     */
    static clearTime(date: Date): Date;
    /**
     * 验证时间是否为有效的时间格式
     * @param date 需要验证的时间
     */
    static validateDate(date: any): any;
    /**
     * @deprecated
     */
    static validateDateStr(dateStr: any): any;
    /**
     * 获取下一个日期的时间
     */
    static getNextDate(date: any): any;
    /**
     * 获取前一个日期的时间
     */
    static getPrevDate(date: any): any;
    /**
     * 获取当月第一天的时间
     */
    static getFirstDayOfMonth(date: any): any;
    /**
     * 获取当月最后一天的时间
     */
    static getLastDayOfMonth(date: any): any;
    /**
     * 获取上个月第一天的时间
     */
    static getFirstDayOfPrevMonth(date: any): any;
}
export { DateUtils };
