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.

Dave
sumber

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);
VtoCorleone
sumber
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);
Leonard Pauli
sumber
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.

Ben
sumber
Anda menyelamatkan saya banyak waktu
:)
12

Anda dapat menambahkan hari dalam berbagai format:

// Normal adding
moment().add(7, 'days');

// Short Hand
moment().add(7, 'd');

// Literal Object    
moment().add({days:7, months:1});

Lihat lebih lanjut di Moment.js docs: https://momentjs.com/docs/#/manipulating/add/

Isidro Martínez
sumber
6
var end_date = moment(start_date).clone().add(5, 'days');
Sorin Trimbitas
sumber
Inilah clone()yang sangat membantu di sini
ChrisW
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 ...

Kamala kanta das
sumber
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);
Marco Barcellos
sumber
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)
Pytth
sumber
0

diperbarui:

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

alert(new_date)
nishith
sumber