Prilimus: Datumsberechnung

Hallo,
ich habe ein Formular in welches ein Datum (TT.MM.JJJJ) eingegeben werden soll.
Mit Hilfe eines Javascripts möchte ich nun den, auf das eingegebene Datum folgende Tag ausgeben.
function FolgenderTag()
{
var form = document.forms[0];
var Datum = form.datum.value;
var T = Datum.slice(0,2);
var M = Datum.slice(3,5);
M--;
var J = Datum.slice(6,10);
var Datum1 = new Date(J, M, T); /* Datum */
var Stempel = Datum1.getTime();
// 1 Tag dazu:
Stempel+=86400000;
var heute = new Date(Stempel);
var hJahr = heute.getFullYear();
var hMonat = heute.getMonth() + 1;
var hTag = heute.getDate();
if (hTag<10) { hTag = "0" + hTag; }
if (hMonat<10) { hMonat = "0" + hMonat; }
var Richtig = hTag + "." + hMonat + "." + hJahr;
form.datum1.value = Richtig;
}
Das funktioniert auch soweit ganz prima - allerdings NICHT beim 31.10.2010!
Wenn dieses Datum verarbeitet wird kommt anstatt '01.11.2010' der '31.10.2010'
Was mache ich falsch?

  1. Hi,

    am 31.10.2010 wurde die Zeit umgestellt.
    Das heißt der Tag war 25 Stunden lang.

    Du könntest einfach so direkt das richtige Datum erhalten:

    var Datum1 = new Date(J, M, +T + 1); /* Datum */

    ~dave

    1. am 31.10.2010 wurde die Zeit umgestellt.
      Das heißt der Tag war 25 Stunden lang.

      Ganz lieben Dank! Das muss man wissen :-)

      1. @@Prilimus:

        nuqneH

        am 31.10.2010 wurde die Zeit umgestellt.
        Ganz lieben Dank! Das muss man wissen :-)

        Du warst die letzten zwei Tage überall eine Stunde zu früh da?

        Qapla'

        --
        „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
        1. Du warst die letzten zwei Tage überall eine Stunde zu früh da?

          Wenn schon dann wohl die letzten 2 Jahre (31.10.2010) ;-)

    2. var Datum1 = new Date(J, M, +T + 1); /* Datum */

      guter Tipp - danke ;-)

  2. Hallo,
    ich habe ein Formular in welches ein Datum (TT.MM.JJJJ) eingegeben werden soll.
    Mit Hilfe eines Javascripts möchte ich nun den, auf das eingegebene Datum folgende Tag ausgeben.
    function FolgenderTag()
    {
    var form = document.forms[0];
    var Datum = form.datum.value;
    var T = Datum.slice(0,2);
    var M = Datum.slice(3,5);
    M--;
    var J = Datum.slice(6,10);
    var Datum1 = new Date(J, M, T); /* Datum */

    // 1 Tag dazu:

    // einfacher
      var heute = Datum1.setDate(Datum1.getDate()+1));

    var hJahr = heute.getFullYear();
    var hMonat = heute.getMonth() + 1;
    var hTag = heute.getDate();
    if (hTag<10) { hTag = "0" + hTag; }
    if (hMonat<10) { hMonat = "0" + hMonat; }
    var Richtig = hTag + "." + hMonat + "." + hJahr;
    form.datum1.value = Richtig;
    }
    Das funktioniert auch soweit ganz prima

    immer! (Monats- und Jahresübergänge, Schaltjahre inclusive)