Neste artigo você vai aprender como adicionar mais horas ou dias a uma data em JavaScript, ou seja, manipular datas em JavaScript

adicionar mais horas ou dias a uma data em JavaScript capa

Fala programador(a), beleza? Bora aprender mais sobre como adicionar horas e manipular datas em JavaScript!

A notícia boa é que a linguagem já prepara muito bem o meio de campo para nós

Adicionar horas é possível por meio de um método chamado setHours, do objeto/classe Date

Então devemos instanciar um nova data com Date, para poder utilizar seus métodos auxiliares e manipular horários

Veja um exemplo prático:

var data = new Date();
console.log(data.getHours()); // 9
data.setHours(data.getHours() + 3);
console.log(data.getHours()); // 12

Perceba que pegamos as horas da data criada pelo Date pelo getHours e adicionamos 3 horas com um inteiro

Desta forma ao pegar a data novamente, as horas estarão acrescidas

O método setHours foi responsável por este incremento de horas ao valor original da data

Para adicionar dias as datas é bem parecido com a forma de adicionar horas, veja um exemplo:

var data = new Date(); 
console.log(data.getDate()); // 14
data.setDate(data.getDate() + 5);
console.log(data.getDate()); // 19

Só que aqui vamos utilizar os métodos getDate e setDate, para pegar os dias e modificar os dias respectivamente

Conclusão

Neste artigo vimos como adicionar mais horas ou dias a uma data em JavaScript

Utilizamos os métodos getHours e getDate, para pegar as horas e os dias

E o método setHours e setDate, para modificar estes valores

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest

3 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Paulo Freire

Mano. legal mas se você acrecenta um dia ao dia 28/02/2021, lo lugar de 01/02/2021 ele iria ficar 29/02/2021? tipo só está setando o dia somado sem ter controle de como realmente vai ficar a data?
mano eu fiz o seguinte. somei usando o tempo em milisegundos, por que assim eu posso somar a data sem me preocupar se é o ultimo dia do mes. que mes é. se o ano é bissexto. etc.

var date= new Date();
var day = SECONDS_PER_MINUTE* MILI_SECONDS_PER_SECOND*MINUTES_PER_HOUR*HOURS_PER_DAY;
var anotherDay = new Date((date.getTime() + day));

Last edited 2 anos atrás by Paulo Freire
Julio Stricker

pensei a mesma coisa… e quando é o último dia do mês…. o certo é trabalhar as somas desejadas em cima do Date() e não como se fossem manipular number aleatórios.

Vou tentar sua abordagem, obrigado 🙂

hawkz0r

Ambos estão errados, o JS sabe lidar com esse tipo de situação e faz os ajustes necessários. Por favor, não fiquem dando ideia errada sem testar antes.

Teste: https://jsfiddle.net/q92j3huw/