Bagaimana cara mendapatkan tanggal kemarin dengan Momentjs?

118

Jadi, pertanyaan saya sederhana, bagaimana cara mendapatkan tanggal kemarin dengan MomentJs? Dalam Javascript itu sangat sederhana, yaitu

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

console.log(yesterday)

Tapi bagaimana cara mencapai ini dengan MomentJs?

ToTa
sumber
3
moment (). add ('days', -1);
roeb
6
Ada juga new Date(Date.now() - 8.64e7). ;-)
RobG

Jawaban:

190

Sama seperti ini: moment().subtract(1, 'days'). Ini akan memberi Anda hari sebelumnya dengan waktu yang sama persis dengan yang ada di komputer lokal Anda.

Aleks
sumber
2
Mencoba ini pada nilai nominal tetapi tidak berhasil untuk saya. Saya harus memberikan beberapa jenis format pada hasilnya. Misalnya 'moment (). Subtract (1,' days '). Calendar ()' atau 'moment (). Subtract (1,' days '). ToDate ()' atau 'moment (). Subtract (1,' days ') .format ("MM / DD / YYYY")'
Andrew
94

Juga:

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

Ini akan memberi Anda hari sebelumnya dengan waktu yang sama persis dengan yang ada di komputer lokal Anda.

Sai Ram
sumber
Saya menggunakan metode ini sejak sebulan dalam sebuah cuplikan, dan saya baru tahu bahwa ini tidak berfungsi dengan baik di awal bulan. Jadi moment(date).subtract(-1, 'day')pada hari pertama memberikan kembali hari terakhir bulan ini, bukan hari terakhir bulan sebelumnya. Apakah ada yang tahu lebih banyak tentang?
3ky
dapatkah Anda mencoba dengan moment().subtract(1, 'day')alih - alihmoment().subtract(-1, 'day')
Sai Ram
@sam lupa minusnya, cuma salah ketik. Apakah ada alasan saya mencoba moment(date).add(-1, 'day')dengan hasil yang sama.
3ky
36

Saat kita mendapatkan tanggal kemarin, ada tiga kemungkinan

1. Dapatkan tanggal kemarin dengan waktu saat ini

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

2. Dapatkan tanggal kemarin dengan awal hari

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

3. Dapatkan tanggal kemarin dengan akhir hari

moment().subtract(1, 'days').endOf('day').toString()
Fizer Khan
sumber
8
moment().add(-1, 'days');

Anda dapat menemukan informasi lebih lanjut di dokumen .

Jan Hommes
sumber
5

Anda dapat dengan mudah mengurangi hari dari penggunaan momen

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

Dan untuk menemukan tanggal sebelumnya

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

Shanavas VH
sumber
3

Tanggal kemarin dalam Momentjs dalam format DD-MM-YYYY.

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

Ini berhasil untuk saya:

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
sumber