2015-07-16 1 views
47

Donc, ma question est simple, comment puis-je obtenir la date d'hier avec MomentJs? En Javascript, il est très simple, à savoirComment obtenir la date d'hier avec Momentjs?

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

console.log(yesterday) 

Mais comment puis-je obtenir cela avec MomentJs?

+1

moment(). Add ('days', -1); – roeb

+3

Il y a aussi 'new Date (Date.now() - 8.64e7)'. ;-) – RobG

Répondre

77

Juste comme ceci: moment().add(-1, 'days'). Il vous donnera le jour précédent avec la même heure exacte qui est sur votre PC local.

5
moment().add(-1, 'days'); 

Vous pouvez trouver plus d'informations dans le docs.

51

aussi:

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

Il vous donnera la veille avec la même heure exacte qui est sur votre PC local.

15

Lorsque nous obtenons la date d'hier, il y a trois possibilties

1. Get date d'hier avec le calendrier actuel

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

2. Get date d'hier avec le début de la journée

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

3. Get date d'hier avec la fin de la journée

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

Vous pouvez facilement soustraire jours d'instant en utilisant

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

Et pour trouver la date précédente

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

0

Cela a fonctionné pour moi:

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);