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 -