Função para adicionar x meses a uma data em JavaScript
Neste artigo você vai aprender a criar uma função para adicionar x meses a uma data em JavaScript, vem conferir!

Fala programador(a), beleza? Bora aprender mais sobre datas em JavaScript!
Introdução
JavaScript é uma linguagem de programação amplamente utilizada para adicionar funcionalidade e interatividade a páginas da web.
Uma das tarefas mais comuns em JavaScript é trabalhar com datas e realizar operações, como adicionar ou subtrair meses, dias ou anos.
Neste artigo, aprenderemos como criar uma função para adicionar x meses a uma data em JavaScript.
Objeto Date no JavaScript
O objeto Date é a base para trabalhar com datas e horas em JavaScript.
Ele oferece uma série de métodos úteis para criar, modificar e obter informações sobre datas e horas.
Vamos começar explorando brevemente alguns dos métodos mais comuns do objeto Date:
new Date(): Cria uma nova instância do objeto Date. Se nenhum argumento for fornecido, ele representará a data e hora atuais.getDate(): Retorna o dia do mês (1-31) para a data especificada.getMonth(): Retorna o mês (0-11) para a data especificada. Observe que os meses são indexados a partir de 0 (janeiro é 0, fevereiro é 1, etc.).getFullYear(): Retorna o ano (quatro dígitos) para a data especificada.
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Criando a função para adicionar meses a uma data
Vamos criar uma função chamada addMonths que aceita dois argumentos: a data e o número de meses que queremos adicionar.
A função deve retornar uma nova data com os meses adicionados.
function addMonths(date, months) {
const newDate = new Date(date.valueOf());
const currentMonth = newDate.getMonth();
const newMonth = currentMonth + months;
newDate.setMonth(newMonth);
return newDate;
}
Nesta função, primeiro criamos uma cópia da data fornecida para evitar modificar a data original.
Em seguida, usamos o método getMonth() para obter o mês atual e adicionamos o número de meses desejado.
Finalmente, usamos o método setMonth() para definir o novo mês na data e retornamos a nova data.
Exemplo de uso da função addMonths
Agora que temos nossa função addMonths, vamos ver como usá-la em um exemplo prático:
const today = new Date();
const monthsToAdd = 6;
const newDate = addMonths(today, monthsToAdd);
console.log("Data atual:", today);
console.log("Data após adicionar", monthsToAdd, "meses:", newDate);
Neste exemplo, criamos uma nova data representando a data atual e, em seguida, usamos nossa função addMonths para adicionar 6 meses a essa data.
O resultado é exibido no console.
Lidando com datas em meses com diferentes números de dias
Um problema comum ao adicionar meses a uma data é que os meses têm diferentes números de dias.
Por exemplo, se você adicionar um mês a 31 de janeiro, o resultado esperado provavelmente seria 28 ou 29 de fevereiro (dependendo se o ano é bissexto ou não), em vez de 3 de março.
Para lidar com isso, podemos modificar nossa função addMonths para verificar se o dia do mês mudou após adicionar os meses.
Se o dia do mês mudar, isso significa que a data resultante está em um mês com menos dias, e precisamos ajustar a data para o último dia do mês anterior.
Vamos atualizar nossa função addMonths para lidar com esse problema:
function addMonths(date, months) {
const newDate = new Date(date.valueOf());
const currentMonth = newDate.getMonth();
const newMonth = currentMonth + months;
newDate.setMonth(newMonth);
// Verifique se o dia do mês mudou após adicionar os meses
if (newDate.getDate() !== date.getDate()) {
// Ajuste a data para o último dia do mês anterior
newDate.setDate(0);
}
return newDate;
}
Com essa modificação, nossa função addMonths agora ajustará a data resultante para o último dia do mês anterior quando necessário.
Quer aprender mais sobre React? Confira o vídeo abaixo:
Conclusão
Neste artigo, exploramos o objeto Date em JavaScript e aprendemos como criar uma função para adicionar x meses a uma data.
A função addMonths que criamos é flexível e pode lidar com meses com diferentes números de dias, garantindo que a data resultante seja correta.
Com essa função em mãos, você pode facilmente realizar operações com datas em seus projetos JavaScript e criar experiências mais dinâmicas e úteis para seus usuários.
Lembre-se de que trabalhar com datas pode ser complicado, e é importante testar completamente seu código para garantir que ele funcione conforme o esperado em todos os cenários possíveis.
Está buscando em evoluir como Programador? Confira o nossos cursos clicando aqui.
Nosso principal objetivo é tornar você um dev profissional que é capaz de resolver problemas de alta dificuldade e criar projetos complexos, através de uma metodologia planejada nos mínimos detalhes, após formar muitos outros desenvolvedores.
Cursos com vários projetos, exercícios, material apoio, comunidade de alunos e muito mais!
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
As diferenças de var, let e const

Como redirecionar para outra página com JavaScript
Exercícios de lógica de programação JavaScript com gabarito
Quais são os melhores exercícios lógica de programação JavaScript? Colocar em prática os exercícios de lógica de programação em JavaScript é de extrema importância para […]
