2015-07-16 3 views
47

Итак, мой вопрос прост, как мне получить вчерашнюю дату с MomentJs? В JavaScript очень просто, то естьКак получить вчерашнюю дату с Momentjs?

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

console.log(yesterday) 

Но как достичь этого с MomentJs?

+1

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

+3

Существует также 'new Date (Date.now() - 8.64e7)'. ;-) – RobG

ответ

77

Просто так: moment().add(-1, 'days'). Это даст вам предыдущий день с тем же текущим временем, которое находится на вашем локальном компьютере.

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

Дополнительную информацию можно найти на странице docs.

51

также:

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

Это даст вам предыдущий день с тем же самым точным текущим временем, который находится на локальном компьютере.

15

Когда мы вчерашняя дата, есть три можностей

1. Получить дату вчера с текущим временем

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

2. Получить вчера дату с началом дня

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

3. Получить дату вчера с конца дня

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

Вы можете легко вычитать дней с момента использования

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

И для поиска предыдущей даты

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

0

Это работало для меня:

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