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?


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.


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.


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


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


3

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

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

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);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.