Como conseguir o encontro de ontem com Momentjs?


118

Então, minha pergunta é simples, como faço para conseguir o encontro de ontem com o MomentJs? Em Javascript é muito simples, ou seja,

today = new Date();
yesterday = new Date(today.setDate(today.getDate() - 1))

console.log(yesterday)

Mas como faço para conseguir isso com MomentJs?


3
momento (). add ('dias', -1);
roeb

6
Existe também new Date(Date.now() - 8.64e7). ;-)
RobG

Respostas:


190

Assim como este: moment().subtract(1, 'days'). Ele mostrará o dia anterior com a mesma hora exata atual do seu PC local.


2
Tentei fazer isso pelo valor de face, mas não funcionou para mim. Tive que fornecer algum tipo de formato para o resultado. Por exemplo, 'momento (). Subtrair (1,' dias '). Calendário ()' ou 'momento (). Subtrair (1,' dias '). ToData ()' ou 'momento (). Subtrair (1,' dias ') .format ("MM / DD / AAAA")'
Andrew

94

Além disso :

moment().subtract(1, 'day')

Ele mostrará o dia anterior com a mesma hora exata atual do seu PC local.


Estou usando esse método há um mês em um snippet, e acabei de descobrir que não funciona bem no início do mês. Portanto, moment(date).subtract(-1, 'day')no primeiro dia retorna o último dia do mês atual em vez do último dia do mês anterior. Alguém sabe mais sobre?
03 de

você pode tentar com em moment().subtract(1, 'day')vez demoment().subtract(-1, 'day')
Sai Ram

@sam esqueça o sinal de menos, foi apenas um erro de digitação. Existe causa que tentei moment(date).add(-1, 'day')com o mesmo resultado.
3ky de

36

Quando chegamos à data de ontem, há três possibilidades

1. Obtenha a data de ontem com o tempo atual

moment().subtract(1, 'days').toString()

2. Obtenha a data de ontem com o início do dia

moment().subtract(1, 'days').startOf('day').toString()      

3. Obtenha a data de ontem com o final do dia

moment().subtract(1, 'days').endOf('day').toString()


5

Você pode facilmente subtrair dias do momento usando

var yesterday = moment().subtract(1, 'days')

E para encontrar a data anterior

var previousDay = moment('2017/11/6', 'YYYY/MM/DD').subtract(1, 'days')


3

Data de ontem em Momentjs no formato DD-MM-AAAA.

const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
console.log(yesterdaydate)

0

Isso funcionou para mim:

var yesterday = new Date(dateInput.getTime());
yesterday.setDate(yesterday.getDate() - 1);
console.log(yesterday);

var tomorrow = new Date(dateInput.getTime());
tomorrow.setDate(tomorrow.getDate() + 1);
console.log(tomorrow);

dateB = moment(yesterday).format("YYYYMMDD");
dateA = moment(tomorrow).format("YYYYMMDD");
console.log(dateB);
console.log(dateA);
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.