@koalarx/utils
Version:
Biblioteca com validadores, conversores e abstrações de algumas problemáticas
50 lines (49 loc) • 2.15 kB
TypeScript
import { KlDateDayEnum } from '../enums/KlDateDayEnum';
import { KlDateDateType } from '../types/KlDateDateType';
import { KlDateTimeZone } from '../types/KlDateTimeZone';
interface KlDateOptions {
skipDays?: KlDateDayEnum[];
}
export declare class KlDate extends Date {
/**
* Formata a data atual em uma string com base no padrão fornecido.
* @param mask Máscara de formatação (ex.: 'dd/MM/yyyy HH:mm:ss').
* @returns Uma string representando a data formatada.
*/
format(mask?: string): string;
/**
* Altera o fuso horário (GMT) da data atual.
* @param timeZone String representando o GMT (ex.: '+3', '-2').
* @returns Uma nova instância de `KlDate` com o GMT ajustado.
*/
changeTimeZone(timeZone: KlDateTimeZone): KlDate;
/**
* Converte a data atual para o formato UTC.
* @returns Uma nova instância de `KlDate` no formato UTC.
*/
toUTC(): KlDate;
/**
* Adiciona uma quantidade de tempo à data atual.
* @param qty Quantidade de tempo a ser adicionada.
* @param type Tipo de unidade de tempo (ex.: 'seconds', 'days', 'months').
* @param options Opções para ignorar feriados ou dias específicos.
* @returns A própria instância de `KlDate` com a data ajustada.
*/
add(qty: number, type: KlDateDateType, options?: KlDateOptions): this;
/**
* Subtrai uma quantidade de tempo da data atual.
* @param qty Quantidade de tempo a ser subtraída.
* @param type Tipo de unidade de tempo (ex.: 'seconds', 'days', 'months').
* @param options Opções para ignorar feriados ou dias específicos.
* @returns A própria instância de `KlDate` com a data ajustada.
*/
sub(qty: number, type: KlDateDateType, options?: KlDateOptions): any;
/**
* Calcula a diferença entre a data atual e outra data fornecida.
* @param date A data para calcular a diferença.
* @param type Tipo de unidade de tempo para o cálculo (ex.: 'seconds', 'days').
* @returns A diferença entre as datas na unidade especificada.
*/
diff(date: Date, type: KlDateDateType): number;
}
export {};