Ich muss einen Monat zu einem Datum in jQuery hinzufügen. Es ist alles in Ordnung, aber wenn das Datum 29 oder 30 oder 31 ist, habe ich ein Problem, weil der 31. November nicht existiert, der 30. Februar nicht existiert und manchmal der 29. Februar nicht existiert.Jquery Monat hinzufügen
Wenn Sie einen Monat hinzufügen möchten und der Tag für den Monat zu groß ist, reduzieren Sie den Tag auf den letzten Tag des Monats.
Das ist mein fiddle code:
$(".demo").append("<p>Right</p>");
var dateSrt = new Date(2016, 7, 24);
for (var i = 1; i<=12; i++) {
if (i == 1) {
dateSrt.setMonth(dateSrt.getMonth());
} else {
dateSrt.setMonth(dateSrt.getMonth() + 1);
}
var txtDay = $.datepicker.formatDate('dd-mm-yy', dateSrt);
$(".demo").append("<label>" + txtDay + "</label><br>");
}
$(".demo").append("<p>Wrong (in this case if the date is incorrect must to be the last of the day)</p>");
var dateSrt=new Date(2016, 7, 30);
for (var i = 1; i<=12; i++) {
if (i == 1) {
dateSrt.setMonth(dateSrt.getMonth());
} else {
dateSrt.setMonth(dateSrt.getMonth() + 1);
}
var txtDay = $.datepicker.formatDate('dd-mm-yy', dateSrt);
$(".demo").append("<label>" + txtDay + "</label><br>");
}
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script>
<div class="demo"></div>
Jeder Vorschlag?
Sie sollten [momentjs] (https://momentjs.com/) verwenden, um Ihre Daten zu verwalten. – Nicolas
Welche Ergebnisse wünschen Sie? Wenn Sie einen Monat bis zum 31. Januar hinzufügen möchten, wie sollte das Ergebnis sein? Das heißt, bedeutet "add a month", dass Sie 30 Tage hinzufügen, oder heißt das, dass Sie die Monatszahl erhöhen und, wenn der Tag für den Monat zu groß ist, den Tag auf den letzten Tag des Monats reduzieren? –
@SergeyDenisov, dies ist kein Duplikat der Frage, auf die Sie verwiesen haben. Dieser betrifft das Rollen von Dezember bis Januar. –