Javascript getMonth
sascha321
- javascript
Ich habe ein Problem mit dem getMonth, ich weiss das es von 0-11 geht, aber irgendwie bekomme ich es nicht hin das ich bei einem Monatswechsel den richtigen Monat angezeigt bekomme. Kann mir da vielleicht jemand auf die Sprünge helfen?
var my_Date = new Date(2018,11,25); // Datum kann vom Benutzer frei gewählt werden
for (var i = 1; i <= 11; i++) {
my_Date_result = (my_Date.getDate() + "." + my_Date.getMonth() + "." + my_Date.getFullYear());
console.log(my_Date_result);
my_Date.setDate(my_Date.getDate() + 1);
}
Wenn ich das laufen lasse bekomme ich folgende Ausgabe.
25.11.2018
26.11.2018
27.11.2018
28.11.2018
29.11.2018
30.11.2018
31.11.2018
1.0.2019
2.0.2019
3.0.2019
4.0.2019
Wenn ich die Zeile so anpasse,
my_Date_result = (my_Date.getDate() + "." + (my_Date.getMonth() +1) + "." + my_Date.getFullYear());
dann bekomme ich folgendes:
25.12.2018
26.12.2018
27.12.2018
28.12.2018
29.12.2018
30.12.2018
31.12.2018
1.1.2019
2.1.2019
3.1.2019
4.1.2019
Tach!
Ich habe ein Problem mit dem getMonth, ich weiss das es von 0-11 geht, aber irgendwie bekomme ich es nicht hin das ich bei einem Monatswechsel den richtigen Monat angezeigt bekomme. Kann mir da vielleicht jemand auf die Sprünge helfen?
Sieht für mich in Ordnung aus. Was für ein Problem siehst du?
var my_Date = new Date(2018,11,25); // Datum kann vom Benutzer frei gewählt werden
Meinst du vielleicht dass hier der November gemeint ist? Ach an der Stelle wird der Monat von 0 bis 11 gezählt.
dedlfix.
Der Benutzer kann zum Beispiel den 25.11.2018 (25 November 2018) auswählen, aber dann stimmt irgendwie der Monats umbruch nicht.
Tach!
Der Benutzer kann zum Beispiel den 25.11.2018 (25 November 2018) auswählen, aber dann stimmt irgendwie der Monats umbruch nicht.
Dann musst du eine 10 als Monat an new Date() übergeben.
dedlfix.
@@dedlfix
Dann musst du eine 10 als Monat an new Date() übergeben.
Musst du nicht. Look Ma, no 10 for November:
var einTagImNovember = new Date('2018-11-25');
console.log(einTagImNovember.toLocaleString('de-DE', { year: 'numeric', month: 'numeric', day: 'numeric' })); // 25.11.2018
Man kann das Date
-Objekt ja verwenden ohne in die Interna hineinzuschauen. Sollte man vielleicht auch.
Die Entscheidung, Monate bei 0 anfangen lassen zu zählen, war wohl eine der dümmsten in der Geschichte der IT.
LLAP 🖖
@@sascha321
Der Benutzer kann zum Beispiel den 25.11.2018 (25 November 2018) auswählen
Das tut er wie?
<input type="date">
liefert das Datum im Format JJJJ-MM-TT, den du – wie in der Antwort an dedlfix gezeigt – an new Date()
übergeben kannst.
LLAP 🖖