Как получить вчерашнее свидание с Momentjs?


120

Итак, мой вопрос прост: как мне получить вчерашнее свидание с 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

Ответы:


192

Так же , как это: moment().subtract(1, 'days'). Он даст вам предыдущий день с тем же самым точным текущим временем, что и на вашем локальном компьютере.


2
Пробовал это за чистую монету, но у меня не получилось. Пришлось придать результату какой-то формат. Например, 'moment (). Subtract (1,' days '). Calendar ()' или 'moment (). Subtract (1,' days '). ToDate ()' или 'moment (). Subtract (1,' days ') .format ("ММ / ДД / ГГГГ")'
Эндрю

94

Также :

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

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


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

moment().subtract(1, 'day')moment().subtract(-1, 'day')
Сай Рам

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

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 в формате ДД-ММ-ГГГГ.

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.