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?

ToTa
fonte
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.

Aleks
fonte
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.

Sai Ram
fonte
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()
Fizer Khan
fonte
8
moment().add(-1, 'days');

Você pode encontrar mais informações nos documentos .

Jan Hommes
fonte
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')

Shanavas VH
fonte
3

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

const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
console.log(yesterdaydate)
Jojo Joseph
fonte
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);
Louise Fitzpatrick Hayes
fonte