/** * `DateUtils`: Utilizado para formatação, padronização e cálculos de datas. */ export default class DateUtils { /** * Zerar o horário de uma data. * * @param date - Data a ser manipulada. * @param adjustDayLightSavingTime - Ajusta horário de verão na data recebida. * @returns - Data sem as informações de horário. * @example * Informo: 2023-03-09 12:42:40 | Obtenho: 2023-03-09 00:00:00 */ static clearTime(date: Date, adjustDayLightSavingTime?: boolean): Date; /** * Converte data para uma string no formato pt-BR. * * @param date - Data a ser convertida. * @param options - Opções de formatação da data. * @returns - Uma string com a data no formato pt-BR DD/MM/YYYY. */ static formatDate(date: Date, options?: Intl.DateTimeFormatOptions): string; /** * Converte as horas de uma data para uma string pt-BR. * * @param date - Data a ser convertida. * @param showSeconds - define se devemos considerar os segundos. * @returns - Uma string com as horas no formato HH:MM ou HH:MM:SS. */ static formatTime(date: Date, showSeconds?: boolean): string; /** * Converte a data e hora para uma string no formato pt-BR. * * @param date - Data a ser convertida. * @param showSeconds - define se devemos considerar os segundos. * @returns - Uma string com as horas no formato DD/MM/YYYY HH:MM ou DD/MM/YYYY HH:MM:SS. */ static formatDateTime(date: Date, showSeconds?: boolean): string; /** * Converte String para Date. * * @param strValue - Texto a ser convertido para data. * @param adjustDayLightSavingTime - Se verdadeiro, ativa regra de horário de verão. * @param monthYearMode - Quando ativado, retorna o primeiro dia do mês apenas para construir a data. * @returns - Data sem as informações de horário. */ static strToDate(strValue: string, adjustDayLightSavingTime?: boolean, monthYearMode?: boolean): Date | undefined; /** * Obtém a data atual. * * @param withTime - Caso true retorna a data com informações de horário. * @returns - Data atual sem informação de horário. */ static getToday(withTime?: boolean): Date; /** * Retorna se a data é válida. * * @param value - Data a ser validada. * @param hasTime - Determina se a data retornada deve conter informação de horário ou não. Por padrão não retorna a hora. * @returns - Caso válida, retorna a própria data. */ static validateDate(value: Date, hasTime?: boolean): Date | undefined; /** * Realiza correção do horário de verão. * * @param date - Data a ser ajustada. * @returns - Data informada ajustada para horário de verão. */ private static adjustDLST; /** * Adiciona uma casa decimal a esquerda de uma unidade. * * @param n - Número a ser ajustado * @returns - O número informado, com uma casa decimal a esquerda. * @example * Informo: 15 | Obtenho: 15 * @example * Informo: 2 | Obtenho: "02" */ private static pad; /** * Retorna timezone da data. * * @param offset - Valor do timezone desejado. * @returns Timezone da data. */ private static timezoneOffset; /** * Converte a data para o formato RFC3339. * * @param date - Data a ser convertida * @returns - Data informada no formato RFC3339. * * @example * Informo: 2023-03-09 12:42:40 | Obtenho: 2023-03-09T12:42:47-03:00 */ static formatRfc3339(date: Date): string; }