Як отримати вчорашнє побачення з Momentjs?


118

Отже, моє запитання просте, як мені отримати вчорашнє побачення з MomentJs? У Javascript це дуже просто, тобто

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

console.log(yesterday)

Але як я досягти цього за допомогою MomentJs?


3
момент (). додати ('дні', -1);
roeb

6
Є також new Date(Date.now() - 8.64e7). ;-)
RobG

Відповіді:


190

Так само , як це: moment().subtract(1, 'days'). Він дасть вам попередній день з тим самим точним поточним часом, який є на вашому локальному ПК.


2
Спробував це за номінал, але не працював для мене. Я повинен був надати певний тип формату для результату. Наприклад, "момент (). Відняти (1," дні "). Календар ()" або "момент (). Відняти (1," дні "). Додати ()" або "момент (). Відняти (1," дні ') .формат ("MM / DD / РРРР") "
Андрій

94

Також:

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

Він дасть вам попередній день з тим самим точним поточним часом, який є на вашому локальному ПК.


Я використовую цей метод з місяця в фрагменті, і я просто з’ясував, що це не працює належним чином на початку місяця. Отже, moment(date).subtract(-1, 'day')перший день повертає останній день поточного місяця замість останнього дня попереднього місяця. Хтось знає більше про це?
3ky

ви можете спробувати moment().subtract(1, 'day')замість цьогоmoment().subtract(-1, 'day')
Sai Ram

@sam забудь мінус, був просто друком. Чи є причина, я намагався moment(date).add(-1, 'day')з тим же результатом.
3ky

36

Коли ми отримуємо вчорашню дату, є три можливості

1. Отримайте вчорашню дату з поточними термінами

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

2. Отримайте вчорашню дату з початком дня

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

3. Отримайте вчорашню дату з кінцем дня

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


5

Ви можете легко відняти дні з моменту, використовуючи

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

І для пошуку попередньої дати

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


3

Вчорашня дата в Momentjs у форматі DD-MM-YYYY

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

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);
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.