string tanggal momentJS menambahkan 5 hari


154

saya memiliki string tanggal mulai "20.03.2014" dan saya ingin menambahkan 5 hari untuk ini dengan moment.js tetapi saya tidak mendapatkan tanggal baru "25.03.2014" di jendela peringatan.

di sini Kode javascript saya:

startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add("DD-MM-YYYY", 5);

alert(new_date);

di sini jsfiddle saya: http://jsfiddle.net/jbgUt/1/

Bagaimana saya bisa memecahkan masalah ini ?

Saya suka format string ini "25.03.2014"

Semoga ada yang bisa membantu saya.

Jawaban:


326

DIPERBARUI: 19 Januari 2016

Mulai 2.8.4 - gunakan .add(5, 'd')(atau .add(5, 'days')) alih-alih.add('d', 5)

var new_date = moment(startdate, "DD-MM-YYYY").add(5, 'days');

Terima kasih @Bala untuk informasinya.

DIPERBARUI: 21 Maret 2014

Inilah yang harus Anda lakukan untuk mendapatkan format itu.

Ini biola yang diperbarui

startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add('days', 5);

var day = new_date.format('DD');
var month = new_date.format('MM');
var year = new_date.format('YYYY');

alert(day + '.' + month + '.' + year);

ASLI: 20 Maret 2014

Anda tidak memberi tahu cara / unit apa yang akan ditambahkan. Gunakan -

 var new_date = moment(startdate, "DD-MM-YYYY").add('days', 5);

saya ingin melihat format ini "25.03.2014" di jendela peringatan bagaimana saya bisa menerapkan ini?
Dave

2
Pada saat-2.8.4, saya dapat melihat pesan usang dengan add ('days', 5). Gunakan tambah (5, 'hari') sebagai gantinya.
Bala

Sintaks yang benar: format moment (). Add (5, 'days'). ("D / M / YYYY") Anda dapat melihat beberapa saat di sini: momentjs.com/docs/#/manipulating/add
Costas Bakoulias

16

Fungsi add () mengembalikan tanggal lama, tetapi mengubah tanggal asli :)

startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
new_date.add(5, 'days');
alert(new_date);

5
Ya itu aneh. Ketika memeriksa moment(startdate).add(5, 'days')konsol Anda dapatkan Moment {_isAMomentObject: true, _i: "[the original date]",}, dan saya yakin addmetode ini tidak berfungsi. Setelah menghabiskan beberapa menit, saya menyadari metode WAS bekerja, karena jika Anda membuka objek yang Anda dapatkan Moment _d : [The date with the addition] _f : "YYYY-MM-DDTHH:mm:ss" _i : [The original date]... Tanggal telah benar-benar berubah (Anda akan mendapatkan hasil yang benar dengan moment(startdate).add(5, 'days').format('YYYYMMDD')), tetapi membingungkan bahwa tampaknya tanggal belum t berubah. : - |
Gilad Barner

14
moment(moment('2015/04/09 16:00:00').add(7, 'd').format('YYYY/MM/DD HH:mm:mm'))

harus memformat dan kemudian mengonversi ke saat lagi.


Anda menyelamatkan saya banyak waktu
:)



3
  1. tambahkan https://momentjs.com/downloads/moment-with-locales.js ke halaman html Anda
  2. var todayDate = moment().format('DD-MM-YYYY');//to get today date 06/03/2018 if you want to add extra day to your current date kemudian
  3. var dueDate = moment().add(15,'days').format('DD-MM-YYYY')// to add 15 days to current date..

poin 2 dan 3 digunakan dalam kode jquery Anda ...


2

Anda dapat mengurangi apa yang mereka katakan dalam beberapa baris kode:

var nowPlusOneDay = moment().add('days', 1);
var nowPlusOneDayStr = nowPlusOneDay.format('YYYY-MM-DD');

alert('nowPlusOneDay Without Format(Unix Date):'+nowPlusOneDay);
alert('nowPlusOneDay Formatted(String):'+nowPlusOneDayStr);

2

Untuk mendapatkan contoh kerja aktual yang menghasilkan apa yang diharapkan:

var startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
var thing = new_date.add(5, 'days').format('DD/MM/YYYY');
window.console.log(thing)

0

diperbarui:

startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add(5,'days');

alert(new_date)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.