Jak uzyskać wczorajszą randkę z Momentjs?

118

Więc moje pytanie jest proste, jak uzyskać wczorajszą randkę z MomentJs? W Javascript jest to bardzo proste, tj

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

console.log(yesterday)

Ale jak mogę to osiągnąć dzięki MomentJs?

ToTa
źródło
3
moment (). add ('dni', -1);
roeb
6
Jest też new Date(Date.now() - 8.64e7). ;-)
RobG

Odpowiedzi:

190

Podobnie jak ten: moment().subtract(1, 'days'). Wyświetli poprzedni dzień z dokładnie taką samą aktualną godziną, jaka jest na Twoim lokalnym komputerze.

Aleks
źródło
2
Próbowałem tego za dobrą monetę, ale nie działało dla mnie. Musiałem podać wynikowi jakiś rodzaj formatu. Np. „Moment (). Odejmowanie (1,„ dni ”). Kalendarz ()” lub „moment (). Odejmowanie (1,„ dni ”). ToDate ()” lub „moment (). Odejmowanie (1,„ dni ”) ') .format ("MM / DD / RRRR")'
Andrzej
94

Również :

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

Wyświetli poprzedni dzień z dokładnie taką samą aktualną godziną, jaka jest na Twoim lokalnym komputerze.

Sai Ram
źródło
Używam tej metody od miesiąca we fragmencie i właśnie dowiedziałem się, że nie działa ona poprawnie na początku miesiąca. Czyli moment(date).subtract(-1, 'day')pierwszego dnia zwraca ostatni dzień bieżącego miesiąca zamiast ostatniego dnia poprzedniego miesiąca. Czy ktoś wie więcej o?
3ky
czy możesz spróbować moment().subtract(1, 'day')zamiastmoment().subtract(-1, 'day')
Sai Ram
@sam zapomnij o minusie, to była tylko literówka. Czy jest przyczyna, dla której próbowałem moment(date).add(-1, 'day')z takim samym wynikiem.
3ky
36

Kiedy dostaniemy wczorajszą randkę, są trzy możliwości

1. Pobierz wczorajszą datę z aktualnym czasem

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

2. Pobierz wczorajszą datę z początkiem dnia

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

3. Pobierz wczorajszą datę z końcem dnia

moment().subtract(1, 'days').endOf('day').toString()
Fizer Khan
źródło
8
moment().add(-1, 'days');

Więcej informacji można znaleźć w dokumentacji .

Jan Hommes
źródło
5

Możesz łatwo odejmować dni od chwili za pomocą

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

I za znalezienie poprzedniej daty

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

Shanavas VH
źródło
3

Wczorajsza data w Momentjs w formacie DD-MM-RRRR.

const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
console.log(yesterdaydate)
Jojo Joseph
źródło
0

To zadziałało dla mnie:

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
źródło