/** * Formata um objeto `Date` em uma string personalizada, com base em um modelo de formato. * Esta função é inspirada em bibliotecas populares como Moment.js e Day.js, permitindo * um controle granular sobre a representação textual de datas e horas. * * Para usar texto literal que possa ser confundido com tokens (ex: "MM"), * envolva-o em colchetes. Ex: `[My month is] MMMM`. * * ### Tokens de Formato Disponíveis: * * | Token | Saída de Exemplo | Descrição | * |-------|-----------------------|-----------------------------------------| * | `YYYY` | `2023` | Ano com 4 dígitos | * | `YY` | `23` | Ano com 2 dígitos | * | `MMMM` | `Janeiro` | Nome completo do mês | * | `MMM` | `Jan` | Nome abreviado do mês | * | `MM` | `01` | Mês com 2 dígitos (01-12) | * | `M` | `1` | Mês (1-12) | * | `DD` | `05` | Dia do mês com 2 dígitos (01-31) | * | `D` | `5` | Dia do mês (1-31) | * | `dddd` | `Qui` | Nome abreviado do dia da semana | * | `ddd` | `Qui` | Nome abreviado do dia da semana | * | `dd` | `Qu` | Dia da semana com 2 letras | * | `d` | `4` | Dia da semana (0=Dom, 1=Seg, ...) | * | `HH` | `14` | Hora com 2 dígitos (formato 24h, 00-23) | * | `H` | `14` | Hora (formato 24h, 0-23) | * | `hh` | `02` | Hora com 2 dígitos (formato 12h, 01-12) | * | `h` | `2` | Hora (formato 12h, 1-12) | * | `mm` | `09` | Minuto com 2 dígitos (00-59) | * | `m` | `9` | Minuto (0-59) | * | `ss` | `05` | Segundo com 2 dígitos (00-59) | * | `s` | `5` | Segundo (0-59) | * | `SSS` | `042` | Milissegundo com 3 dígitos | * | `SS` | `04` | Milissegundo com 2 dígitos | * | `S` | `42` | Milissegundo | * | `A` | `PM` | AM/PM em maiúsculas | * | `a` | `pm` | am/pm em minúsculas | * * @param {Date} date O objeto `Date` a ser formatado. * @param {string} format A string de formato contendo os tokens a serem substituídos. * @returns {string} A string de data formatada. * * @example * ```ts * const myDate = new Date('2023-01-05T14:09:05.042Z'); * * // Formato brasileiro: "quinta-feira, 05 de janeiro de 2023, 11:09:05" (considerando fuso -3h) * console.log(formatDate(myDate, 'dddd, DD [de] MMMM [de] YYYY, HH:mm:ss')); * * // Formato curto: "05/01/23 11:09 AM" * console.log(formatDate(myDate, 'DD/MM/YY hh:mm A')); * ``` */ export declare const formatDate: (date: Date, format: string) => string; //# sourceMappingURL=formatDate.d.ts.map