sascha321: Javascript getMonth

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
  1. 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.

    1. Der Benutzer kann zum Beispiel den 25.11.2018 (25 November 2018) auswählen, aber dann stimmt irgendwie der Monats umbruch nicht.

      1. 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.

        1. @@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 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
      2. @@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 🖖

        --
        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann