Referência rápida

Guia Rápido do Moment.js

Um guia de referencia completo para Moment.js: parsing de datas, tokens de formatacao, manipulacao, formatos localizados e alternativas modernas.

· Publicado

Moment.js e uma consagrada biblioteca JavaScript para analisar, validar, manipular e formatar datas.

Análise e Criação de Datas

// Timestamp atual
const now = moment();

// Analisar com string de formato explicito
const m = moment('2026-10-25', 'YYYY-MM-DD');

// Analisar timestamp Unix (segundos vs milissegundos)
moment.unix(1730000000); // de segundos
moment(1730000000000);   // de milissegundos

// Verificar validade
m.isValid(); // -> true

Tokens de Formatação

m.format();                  // "2026-10-25T00:00:00+08:00" (// Formato padrao ISO 8601)
m.format('dddd');            // "Sunday"
m.format('MMM Do YY');       // "Oct 25th 26"
m.fromNow();                 // "// Tempo relativo (ex: ha 3 horas)"
m.calendar();                // "// Formato de calendario"

Tabela de Tokens de Data

Token Faixa de Saída Descrição
YYYY 2026 4-digit year
YY 26 2-digit year
MM 01..12 2-digit month
MMM Jan..Dec Short month name
MMMM January..December Full month name
DD 01..31 2-digit day of month
Do 1st..31st Day of month with ordinal
d 0..6 Day of week (0 is Sunday)
ddd Sun..Sat Short day of week
dddd Sunday..Saturday Full day of week
Q 1..4 Quarter of the year

Tabela de Tokens de Hora

Token Faixa de Saída Descrição
HH 00..23 24-hour hour (2-digit)
H 0..23 24-hour hour (1-digit)
hh 01..12 12-hour hour (2-digit)
mm 00..59 Minute (2-digit)
ss 00..59 Second (2-digit)
SSS 000..999 Milliseconds (3-digit)
A AM / PM Uppercase meridiem
a am / pm Lowercase meridiem
Z +08:00 Difference from UTC

Manipulação de Datas

Os objetos Moment sao mutaveis. As operacoes alteram a instancia diretamente:

// Adicionar e subtrair
moment().add(7, 'days');
moment().subtract(1, 'month');

// Ajustar aos limites da unidade
moment().startOf('day');  // 00:00:00.000 hoje
moment().endOf('month');  // 23:59:59.999 ultimo dia do mes

// Clonar para evitar mutacoes indesejadas
const original = moment();
const nextWeek = original.clone().add(7, 'days');

Formatos Localizados Predefinidos

Formato Exemplo de Saída
LT 8:30 PM
LTS 8:30:25 PM
L 10/25/2026
LL October 25, 2026
LLL October 25, 2026 8:30 PM
LLLL Sunday, October 25, 2026 8:30 PM

Alternativas Modernas

O Moment.js esta em modo de manutencao. Alternativas modernas recomendadas:

  • date-fns: Funcoes utilitarias imutaveis e modulares com suporte a tree-shaking.
  • Day.js: Substituto leve de 2KB com API praticamente compativel.
  • Luxon: Biblioteca moderna dos proprios criadores do Moment baseada no Intl.
  • Native Intl.DateTimeFormat: Nativo em navegadores modernos e Node.js sem dependencias externas.

Referências

Temas relacionados