1
resposta

[Bug] Bug ao usar toLocaleDateString();

Olá pessoal! Estou com uma dificuldade no curso JavaScript: aprendendo a programar na parte de formatação de datas.

Estou tentando usar o toLocaleDateString() para exibir datas no formato brasileiro (DD/MM/AAAA), mas não estou conseguindo acertar os parâmetros. Alguém poderia me dar um exemplo prático de como fazer isso?

Se possível, gostaria de ver um código que funcione e uma explicação de como cada parte do toLocaleDateString() contribui para a formatação.

Agradeço muito a ajuda de vocês!

1 resposta

Oi Maria.
Vamos resolver isso com um exemplo simples para você entender como funciona o toLocaleDateString() no JavaScript.
Ele é bem flexível, mas realmente pode gerar confusão quando tentamos personalizar a formatação de datas.
Para exibir a data no formato brasileiro (DD/MM/AAAA), você pode usar o seguinte código:

// Criando uma nova data com o momento atual
const data = new Date();

// Usando o toLocaleDateString() com parâmetros específicos
const dataFormatada = data.toLocaleDateString('pt-BR');

console.log(dataFormatada);  // Exemplo de saída: "27/10/2025"

Explicação:

  • 'pt-BR': Esse é o parâmetro de localidade (locale). No caso, ele indica que a data será formatada de acordo com o padrão do Brasil.
  • O método toLocaleDateString() automaticamente formata a data para o padrão brasileiro (DD/MM/AAAA) quando você passa 'pt-BR' como argumento.

Parâmetros adicionais:
Se quiser ter mais controle sobre a formatação, pode usar um segundo parâmetro, que é um objeto de opções.
Aqui está um exemplo que formata a data de maneira mais explícita:

const data = new Date();

const dataFormatada = data.toLocaleDateString('pt-BR', {
  day: '2-digit',    // Exibe o dia com dois dígitos
  month: '2-digit',  // Exibe o mês com dois dígitos
  year: 'numeric'    // Exibe o ano com 4 dígitos
});

console.log(dataFormatada);  // Exemplo de saída: "27/10/2025"

Explicação das opções:

  • day: '2-digit': Exibe o dia com dois dígitos (ex: 07 ao invés de 7).
  • month: '2-digit': Exibe o mês com dois dígitos (ex: 09 ao invés de 9).
  • year: 'numeric': Exibe o ano com 4 dígitos (ex: 2025).

Esses parâmetros vão garantir que a data tenha sempre dois dígitos para o dia e o mês, e o ano com quatro dígitos, o que é o esperado no formato brasileiro.
Espero que isso ajude a resolver sua dúvida!
Qualquer duvida comente ai.
Bons estudos.