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
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
- 473 aulas
- 20 projetos
- 39h 26min
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 […]
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação
Checklist de segurança n8n VPS pública: guia essencial para proteger sua instalação A popularidade da automação de processos com o n8n está em alta, principalmente […]
Perfeito!!!
Uma dúvida, e se fosse para retornar/adicionar somente considerando dias úteis?
grande abç,