momentJSの日付文字列に5日追加


154

開始日文字列「20.03.2014」があり、これにmoment.jsで5日を追加したいのですが、アラートウィンドウに新しい日付「25.03.2014」が表示されません。

ここに私のjavascriptコード:

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

alert(new_date);

ここに私のjsfiddle:http ://jsfiddle.net/jbgUt/1/

どうすればこれを解決できますか?

この文字列形式「25.03.2014」が好きです

誰かが私を助けてくれることを願っています。

回答:


326

更新日:2016年1月19日

現時点2.8.4以降-の代わりに.add(5, 'd')(または.add(5, 'days'))を使用.add('d', 5)

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

情報をありがとう@Bala。

更新:2014年3月21日

これは、そのフォーマットを取得するために必要なことです。

これが更新されたフィドルです

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

オリジナル:2014年3月20日

どのユニットを追加するか/どのユニットを追加するかを言っているのではありません。使用する -

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

アラートウィンドウでこのフォーマット「25.03.2014」を表示するにはどうすればよいですか?
Dave

2
moment-2.8.4の時点で、add( 'days'、5)を使用して非推奨のメッセージを表示できます。代わりにadd(5、 'days')を使用してください。
Bala

正しい構文:moment()。add(5、 'days')。format( "D / M / YYYY")しばらく見ることができます:momentjs.com/docs
Costas Bakoulias

16

関数add()は古い日付を返しますが、元の日付を変更します:)

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

5
変だね。moment(startdate).add(5, 'days')コンソールをチェックインするMoment {_isAMomentObject: true, _i: "[the original date]",}と、が表示され、addメソッドが機能していないことがわかりました。数分を過ごした後、私はあなたが取得したオブジェクトを開いた場合ので、この方法は、働いていたが実現Moment _d : [The date with the addition] _f : "YYYY-MM-DDTHH:mm:ss" _i : [The original date]...日付が実際に変更されている(あなたがして正しい結果を得るでしょうmoment(startdate).add(5, 'days').format('YYYYMMDD')、それは日付hasn」に思われること)が、それは混乱しています変化した。:-|
Gilad Barner、2016年

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

フォーマットして、もう一度瞬間に変換する必要があります。


たくさんの時間を節約してくれました:)
ivahidmontazer

12

さまざまな形式で日を追加できます。

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

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

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

詳細については、Moment.jsのドキュメントをご覧くださいhttps ://momentjs.com/docs/#/manipulating/add/




2

数行のコードで彼らが言ったことを減らすことができます:

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

実際に動作する例を取得するには、期待される結果が返されます。

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

更新しました:

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

alert(new_date)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.