2016-05-28 8 views
0

Ich benutze moment.js, um Daten zu manipulieren. Ich habe einen Wert in einem Feld gespeichert, ich möchte diesen Wert erhalten und 1 Monat hinzufügen. Hier ist mein Code:moment.js Monat hinzufügen, aber schlechtes Format

var myDate = $('#CRUEventModal #rdvStartDate').val(); 
alert('Date i get:' + myDate); // I get: 25-05-2016 
myDate = moment(myDate).format("DD-MM-YYYY"); 

alert('Date i get transformed:' + myDate); // I get: NaN-NaN-0NaN 
var new_date = moment(myDate, "DD-MM-YYYY").add('months', 1); 
alert('End date: ' + new_date); // I get: -62164630800000 

Aber ich dieses Ergebnis möchte: 25-06-2016

Hilfe bitte?

Antwort

2

format wird verwendet, um ein Momentjs-Datum zu formatieren, nicht um anzugeben, wie es analysiert wird. Wenn Sie eine Zeichenfolge als Datum mit einem bestimmten Format analysieren möchten, sollten Sie moment(string, format) verwenden. Schau mal at the documentation here.

var myDate = "25-05-2016"; 
 
console.log('Date I get: ' + myDate); 
 
myDate = moment(myDate, "DD-MM-YYYY"); 
 

 
console.log('Date I get transformed: ' + myDate); 
 
var new_date = moment(myDate, "DD-MM-YYYY").add(1, 'months'); // 'months' should come 
 
                   // after 1 with the latest 
 
                   // versions. 
 
console.log('End date: ' + new_date); 
 
console.log('End date (human readable): ' + new_date.format("DD-MM-YYYY"));
<script src="https://cdn.jsdelivr.net/momentjs/2.13.0/moment.min.js"></script>

+0

Danke, ich habe bereits versucht Monate nach dem int zu setzen, ich das gleiche Ergebnis erhalten. Also ich brauche nicht das Datum neu zu formatieren. Danke noch einmal. – Alexking2005