web-dev-qa-db-ja.com

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

私は開始日文字列 "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"が好きです

誰かが私を助けることができると思います。

102
Dave

更新: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);
223
VtoCorleone

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

startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
new_date.add(5, 'days');
alert(new_date);
11
Leonard Pauli
moment(moment('2015/04/09 16:00:00').add(7, 'd').format('YYYY/MM/DD HH:mm:mm'))

フォーマットしてから、再びモーメントに変換する必要があります。

10
Ben

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

// 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/

7

実際の実用的な例を実行すると、予想される結果が返されます。

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)
2
Pytth

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

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
Marco Barcellos
  1. htmlページに https://momentjs.com/downloads/moment-with-locales.js を追加してください
  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
  3. var dueDate = moment().add(15,'days').format('DD-MM-YYYY')// to add 15 days to current date..

ポイント2と3はあなたのjqueryコードで使っています...

2

var end_date = moment(start_date).clone()。add(5、 'days');

1
Sorin Trimbitas