Pegar o primeiro dia do mês atual com JavaScript
Neste artigo você vai aprender a pegar o primeiro dia do mês atual com JavaScript, vamos utilizar o objeto Date para isso

Fala programador(a), beleza? Bora aprender mais sobre datas em JavaScript!
Para resolver o nosso problema vamos utilizar o objeto Date e seus métodos
Os necessários serão:
- getFullYear: ano atual;
- getMonth: mês atual;
- toLocaleDateString: formatar data;
Vamos criar uma data atual a partir da instância do objeto Date
Depois vamos utilizar os métodos descritos acima para gerar a data passada, o primeiro dia do mês
E por fim formatamos ele com o toLocaleDateString, esta parte é opcional
Veja um exemplo de código:
const date = new Date(); const firstDay = new Date(date.getFullYear(), date.getMonth(), 1); const firstDayDate = firstDay.toLocaleDateString() console.log(firstDayDate) // "01/08/2022"
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Desta forma geramos o primeiro dia do mês atual
Podemos utilizar uma lógica semelhante para pegar o último dia do mês atual com JavaScript, veja:
const date = new Date(); const lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0); const lastDayDate = lastDay.toLocaleDateString() console.log(lastDayDate) // "31/08/2022"
Só alteramos os parâmetros do segundo new Date
Lembrando que cada new Date gera uma nova data, a primeira é a atual e a segunda a data final do mês
E assim temos estas duas opções que você pode utilizar 🙂
Quer aprender mais sobre JavaScript? Confira o vídeo abaixo:
Conclusão
Neste artigo você viu como pegar o priemiro dia do mês atual com JavaScript
Utilizamos o objeto Date e seus métodos para isso
Concluimos gerando uma data formatada no nosso padrão
Deseja programar de forma profissional? Confira o nosso treinamento completo clicando aqui.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!
Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!
Por que o getMonth começa no zero?
Antes de sair codando, se liga num detalhe que pega muita gente
O getMonth do JavaScript não conta o mês de 1 a 12, ele conta de 0 a 11
Ou seja, janeiro é 0, fevereiro é 1, e dezembro é 11
É como se a contagem começasse do zero, igual a índice de array
Por isso, pra montar o primeiro dia, a gente passa o getMonth direto (ele já vem no valor certo do mês atual) e o dia como 1
Já me ferrei uma vez somando +1 sem necessidade e caindo no mês errado, então tome cuidado com isso
Como pegar o primeiro dia do mês no formato ISO (AAAA-MM-DD)?
O toLocaleDateString gera a data no padrão brasileiro (dd/mm/aaaa), mas muita hora tu precisa dela no formato ISO, tipo pra mandar numa API ou salvar no banco
Dá vontade de usar o toISOString e resolver rápido, porém cuidado: ele converte pra UTC e, dependendo do fuso, pode voltar o dia
O jeito seguro é montar a string na mão, sem depender de fuso:
const date = new Date();
const firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
const ano = firstDay.getFullYear();
const mes = String(firstDay.getMonth() + 1).padStart(2, ‘0’);
const dia = String(firstDay.getDate()).padStart(2, ‘0’);
const iso = ${ano}-${mes}-${dia};
console.log(iso) // "2022-08-01"
Repara que aqui a gente soma +1 no getMonth só pra montar o texto (lembra que ele começa no 0?) e usa padStart pra garantir os dois dígitos
E se eu quiser o primeiro dia de um mês específico?
Até aqui a gente pegou sempre o mês atual, mas dá pra apontar pra qualquer mês, é só passar o ano e o mês na mão
Lembrando da regra do zero: janeiro é 0 e dezembro é 11
const ano = 2022;
const mes = 11; // dezembro, porque a contagem começa no 0
const primeiroDia = new Date(ano, mes, 1);
console.log(primeiroDia.toLocaleDateString()) // "01/12/2022"
Mesma lógica de sempre, só que agora tu escolhe o mês em vez de usar o getMonth da data atual
Perguntas frequentes
Como pegar o último dia do mês com JavaScript?
Tu usa o mesmo new Date, mas passa o mês seguinte (getMonth + 1) e o dia 0, que o JavaScript entende como o último dia do mês anterior
O getMonth retorna 1 a 12?
Não, ele retorna de 0 a 11, então janeiro é 0 e dezembro é 11
Como formatar a data no padrão brasileiro?
É só chamar o toLocaleDateString na data gerada, que ele devolve no formato dd/mm/aaaa
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
