Saya ingin variabel untuk menampung tanggal kemarin dalam format DD-MM-YYYY
menggunakan Moment.js. Jadi jika hari ini adalah 15-04-2015, saya ingin mengurangi satu hari dan memiliki 14-4-2015.
Saya sudah mencoba beberapa kombinasi seperti ini:
startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');
dan ini:
startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');
dan juga ini:
startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')
Tapi saya tidak mengerti ...
javascript
date
momentjs
beaumondo
sumber
sumber
format()
adalah fungsi yang membuatnya menjadi string. Anda harus melakukannya terakhir.Jawaban:
Ada banyak keanehan yang terjadi. Yang pertama telah diedit di posting Anda, tetapi itu berkaitan dengan urutan pemanggilan metode.
.format
mengembalikan sebuah string. String tidak memilikisubtract
metode.Masalah kedua adalah Anda mengurangi hari, tetapi tidak benar-benar menyimpannya sebagai variabel.
Kode Anda, kemudian, akan terlihat seperti:
Namun, Anda bisa menyatukannya; ini akan terlihat seperti:
Perbedaannya adalah kami menyetel tanggal mulai ke perubahan yang Anda lakukan pada tanggal mulai, karena momen merusak.
sumber
subtract
, pada kenyataannya, merusak. "Mutasi momen asli dengan mengurangi waktu". Lihat di sini: momentjs.com/docs/#/manipulating/subtractsumber
Coba ini:
Ini akan memberi Anda
14-04-2015
- hari ini adalah 15-04-2015Atau jika versi momentjs Anda kurang dari 2.8.0, Anda dapat menggunakan:
Daripada ini:
sumber
startdate = moment().subtract(1, 'days').startOf('day')
sumber
Saya pikir Anda sudah mendapatkannya dalam upaya terakhir, Anda hanya perlu mengambil string .. di konsol Chrome ..
sumber
Dalam momen angularjs = "^ 1.3.0"
sumber
Sekarang, Anda dapat memformat bagaimana Anda ingin melihat tanggal ini atau Anda dapat membandingkan tanggal ini dengan tanggal lain dll.
fungsi toDate () adalah intinya.
sumber