MomentJS - Adicionar

Este método permite adicionar dias, horas, anos, horas, segundos, etc., no objeto momento.

Sintaxe

moment().add(Number, String);
moment().add(Object);
moment().add(Duration);

Usando o método add, podemos adicionar número, horas, dias, etc.

A tabela a seguir mostra as listas de chaves / atalhos que você pode usar com o método add.

Chave Forma abreviada
anos y
quartos Q
meses M
semanas W
dias d
horas h
minutos m
segundos s
milissegundos em

Você pode usar a chave ou unidade abreviada dentro do método add da seguinte maneira -

Exemplo

moment.add(5, 'days'); or moment.add(5, 'd');

Vamos ver um exemplo de trabalho que mostra como adicionar dias à data atual usando o método add.

Exemplo

<html>
   <head>
      <title>MomentJS - ADD Method</title>
      <scrip type="text/JavaScript" src="https://MomentJS.com/downloads/moment.js"></script>
      <style>
         div { border: solid 1px #ccc;
            padding:10px;
            font-family: "Segoe UI",Arial,sans-serif;
            width: 75%;
         }
      </style>
   </head>
   <body>
      <h1>MomentJS - Add Method</h1>
      <div style="font-size:25px" id="currentdate"></div>
      <br/>
      <br/>
      <div style="font-size:25px" id="changeddate"></div>
      <script type="text/JavaScript">
         var day = moment(); //outputs current date.
         document.getElementById("currentdate").innerHTML = "Current Date: " + day._d;
         var changeddate = moment().add(5, 'days'); // adding 5 days to current date.
         document.getElementById("changeddate").innerHTML = "Output after adding 5 days: " + changeddate._d;
      </script>
   </body>
</html>

Resultado

Observe que o código acima exibe a data atual e a data após adicionar 5 dias a ela.

Você também pode usar o key com o método add da seguinte forma -

var changeddate = moment().add(5, 'days'); // adding 5 days to current date.

Exemplo

Vejamos um exemplo que adiciona 5 horas à data fornecida -

var changeddate = moment([2017, 2, 31]).add(5, 'hours');

Resultado

Se houver várias adições a serem feitas na data, você pode fazê-lo usando o encadeamento de método add ou usando o literal de objeto.

Adicionar método usando encadeamento

Considere que você deseja adicionar dias e meses à data atual. Isso pode ser feito usando o encadeamento de métodos, conforme mostrado no exemplo abaixo -

Exemplo

var changeddate = moment().add(5, 'days').add(2, 'months');.

Resultado

Para adicionar dias e meses à data atual, podemos usar o encadeamento de métodos da seguinte maneira -

var changeddate = moment().add(5, 'days').add(2, 'months');.

Também podemos usar a chave conforme mostrado no código fornecido abaixo -

var changeddate = moment().add(5, 'd').add(2, 'M');

Adicionar método usando objeto

Usando essa técnica, você pode usar o literal de objeto para adicionar várias chaves à data atual.

Exemplo

var changeddate = moment().add({ days: 5, months: 2 });

Resultado

O método do objeto é usado da seguinte maneira -

var changeddate = moment().add({ days: 5, months: 2 });

Você também pode usar chaves na forma de objeto da seguinte maneira -

var changeddate = moment().add({ d: 5, M: 2 });

No caso de precisarmos adicionar dias ou meses a uma determinada data, o mesmo pode ser feito conforme mostrado abaixo -

Exemplo

var changeddate = moment([2014, 10, 10]).add({ d: 5, M: 2 });

Resultado

Adicionamos 5 dias e 2 meses à data 10/10/2014, o que dá a saída como 15/01/2015.

Adicionando Duração para Adicionar Método

Também podemos usar o método de duração para adicionar dias, meses, anos, tempo, etc. a uma determinada data.

Observe o exemplo a seguir que mostra como adicionar 5 semanas a uma determinada data usando a duração -

Exemplo

var duration = moment.duration({ 'weeks': 5 });
var changeddate = moment([2012, 0, 31]).add(duration);

Observe que adicionamos 5 semanas a 31/01/2012 e, portanto, a saída é a seguinte -

Resultado

Casos especiais para meses e anos

No caso de estarmos tentando adicionar meses à data cujos dias são maiores que os meses adicionados, será considerado o último dia do mês que é adicionado à data.

Exemplo

var changeddate = moment([2017, 0, 31]).add(1, 'months');

No exemplo acima, estamos adicionando um mês a 31/01/2017, agora, como fevereiro tem 28 dias, leva o último dia de fevereiro e exibe a data conforme mostrado abaixo -

Resultado