Adicionar dias a uma Date de JavaScript
Neste artigo você vai aprender a como adicionar dias a uma Date de JavaScript, Date é a classe que manipula datas na linguagem JS

Fala programador(a), beleza? Bora aprender mais sobre a class Date e também sobre a linguagem JavaScript!
Para realizar esta ação vamos precisar de diversas ações no nosso sistema, então preferi a abordagem de criar uma função para isto
Primeiramente vamos precisar da nossa data, criaremos uma com a instância da classe Date
Depois utilizaremos setDate, um método da classe, para modificar a data adicionando os dias
E por fim vamos retornar o resultado final
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Veja um exemplo da função, conforme o explicado acima:
const data = new Date();
const dias = 10;
console.log(data.toISOString().slice(0, 10)); // 2021-05-02
function addDays(date, days) {
date.setDate(date.getDate() + days);
return date;
}
const novaData = addDays(data, dias);
console.log(novaData.toISOString().slice(0, 10)); // 2021-05-12
Primeiramente criamos a variável de data e também de dias a adicionar
A data foi exibida posteriormente, podemos fazer facilmente isso com: toISOString().slice(0, 10)
Depois foi criada a função, que aceita dois parâmetros:
- Nossa data;
- E os dias a serem adicionados;
Por fim aplicamos a função na nossa data e exibimos novamente ela, veja que foram adicionados 10 dias
Conforme o proposto pelo nosso snippet!
Conclusão
Neste artigo você aprendeu a como adicionar dias a uma Date em JavaScript
Utilizamos uma função para isso, que nós mesmos criamos
Basicamente ela recebe uma data válida de instância de Date e também os dias a serem adicionados
Por meio do método setDate modificamos a data e retornamos ela ao sistema
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!
Se liga num detalhe importante: o método setDate modifica a data original ali dentro da função, ou seja, ele muda a variável que você passou
Às vezes isso te ferra, principalmente quando você ainda precisa da data antiga em outro lugar do código
Pra fugir disso é só criar uma cópia da data antes de mexer nela:
function addDays(date, days) { const novaData = new Date(date); novaData.setDate(novaData.getDate() + days); return novaData; }
Agora a data original fica intacta e você recebe uma nova instância só com os dias somados
Bora testar os dois jeitos e ver a diferença?
A lógica é a mesma, só que ao contrário
Como o setDate aceita o valor que você mandar, é só passar os dias negativos ou usar subtração no getDate:
function subtractDays(date, days) { const novaData = new Date(date); novaData.setDate(novaData.getDate() – days); return novaData; }
Aí você consegue voltar no tempo também, tipo pegar a data de 7 dias atrás
O massa é que o próprio JavaScript já vira o mês e o ano pra você quando o número passa do limite, não precisa se preocupar com isso
Como adicionar dias a uma data específica, e não a data de hoje?
É só criar a Date com a data que você quer, tipo new Date(‘2021-05-02’), e passar ela pra função
O setDate vira o mês automaticamente?
Vira sim, o JavaScript ajusta o mês e o ano sozinho quando os dias passam do fim do mês, então dia 30 de janeiro mais 5 dias já cai em fevereiro certinho
Posso somar dias direto sem criar função?
Pode, dá pra fazer numa linha com data.setDate(data.getDate() + 10), a função é só pra deixar reaproveitável e mais organizado
Leia também
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 […]

Perfeito!!!
Uma dúvida, e se fosse para retornar/adicionar somente considerando dias úteis?
grande abç,