Tabellenkalk: wiki-Seite split

problematische Seite

Hallo,

bin grad im Wiki über die Split-Seite gestolpert.

Im letzten Beispiel müsste es, um den Monat zu erhalten, m.E. statt

var dt = new Date( parseInt(stSplit[2],10), parseInt(stSplit[1]-1,10), parseInt(stSplit[0],10));

doch eigentlich

var dt = new Date( parseInt(stSplit[2],10), parseInt(stSplit[1],10)-1, parseInt(stSplit[0],10));

lauten, oder?

Gruß
Kalk

  1. problematische Seite

    Hallo,

    oder?

    ich habs mal umgestellt und umformuliert.

    Gruß
    Kalk

  2. problematische Seite

    Hallo,

    gerade mal getestet, du hast recht.

    Es ist schon irgendwie doof, dass die Tageszählung bei 1, die Monatszählung aber bei 0 beginnt.

    Gruß
    Jürgen

    1. problematische Seite

      Hallo,

      Es ist schon irgendwie doof, dass die Tageszählung bei 1, die Monatszählung aber bei 0 beginnt.

      Das ist wirklich doof, war aber nicht mein Kritikpunkt. In der ursprünligen Fassung sollte von der Zeichenkette 1 abgezogen werden, was nicht ohne entsprechende Magie funktioniert hätte.

      Gruß
      Kalk

      1. problematische Seite

        Hallo,

        … In der ursprünligen Fassung sollte von der Zeichenkette 1 abgezogen werden, was nicht ohne entsprechende Magie funktioniert hätte.

        die Magie ist aber bei JS eingebaut.

        x = "42";
        y = x + 1;421, da Stringverkettung
        

        aber

        y = x - 1;41, implizite Umwandlung von String in Zahl, da „-“ nur bei Zahlen definiert ist.
        

        Aber du hast recht, im Wiki sollte man nicht mit „Tricks“ arbeiten.

        Gruß
        Jürgen

        1. problematische Seite

          Hallo JürgenB,

          parseInt(stSplit[1] - 1, 10)
          

          vs

          parseInt(stSplit[1], 10) - 1
          

          parseInt einzusetzen und die Subtraktion von 1 innerhalb von parseInt, also auf dem String, durchzuführen, das ist schon was für Code Jokes.

          Rolf

          --
          sumpsi - posui - obstruxi