Datumsberechnung
Prilimus
- javascript
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?
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
am 31.10.2010 wurde die Zeit umgestellt.
Das heißt der Tag war 25 Stunden lang.
Ganz lieben Dank! Das muss man wissen :-)
@@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'
Du warst die letzten zwei Tage überall eine Stunde zu früh da?
Wenn schon dann wohl die letzten 2 Jahre (31.10.2010) ;-)
var Datum1 = new Date(J, M, +T + 1); /* Datum */
guter Tipp - danke ;-)
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)