webentwicklung-frage-antwort-db.com.de

momentJS date string fügt 5 tage hinzu

ich habe einen Startdatum-String "20.03.2014" und ich möchte dies mit moment.js um 5 Tage ergänzen, aber ich bekomme nicht das neue Datum "25.03.2014" im Alarmfenster.

hier mein Javascript Code:

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

alert(new_date);

hier mein jsfiddle: http://jsfiddle.net/jbgUt/1/

Wie kann ich das lösen?

Ich mag dieses Stringformat "25.03.2014"

Hoffe, jemand kann mir helfen.

79
Dave

AKTUALISIERT: 19. Januar 2016

Ab dem Moment 2.8.4 - verwenden Sie .add(5, 'd') (oder .add(5, 'days')) anstelle von .add('d', 5)

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

Danke @Bala für die Informationen.

AKTUALISIERT: 21. März 2014

Das müsste man tun, um dieses Format zu erhalten.

Hier ist eine aktualisierte Geige

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

ORIGINAL: 20. März 2014

Sie sagen nicht, wie/welche Einheit hinzugefügt werden soll. Benutzen -

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

Die Funktion add () gibt das alte Datum zurück, ändert jedoch das ursprüngliche Datum :)

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

Sie können Tage in verschiedenen Formaten hinzufügen:

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

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

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

Weitere Informationen dazu finden Sie in den Dokumenten von Moment.js: https://momentjs.com/docs/#/manipulating/add/

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

muss formatieren und dann wieder in moment umwandeln.

6
Ben
  1. fügen Sie https://momentjs.com/downloads/moment-with-locales.js zu Ihrer HTML-Seite hinzu
  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 dann
  3. var dueDate = moment().add(15,'days').format('DD-MM-YYYY')// to add 15 days to current date..

punkt 2 und 3 werden in Ihrem Abfragecode verwendet ...

2

Um ein aktuelles Arbeitsbeispiel in Gang zu setzen, wird das zurückgegeben, was man erwarten würde:

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

Sie können in wenigen Codezeilen reduzieren, was sie sagten:

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);
1
Marco Barcellos

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

0
Sorin Trimbitas