Antje Hofmann: js gibt mir n falschen wochentag?

Beitrag lesen

Hallo Sven

Das Problem bei dir ist, daß du falsche Variablentypen übergeben hast:

nein, nicht immer ist der Typ verantwortlich :-)

mehr zur Typenumwandlung habe ich dir hier geschrieben

http://forum.de.selfhtml.org/archiv/2002/7/16168/#m90794

zdatum=new Date(jahr, mon, tag); //Hier werden Integer verlangt!
ztag=zdatum.getDay();

Integerwerte spielen hier keine Rolle.

Die simple Ursache war: JavaScript beginnt die Zählung der Monate mit 0. Wird das Dateobjekt so erzeugt, so muss der Monat um eins verringert werden. Hier also mon-1 rechnen.

Mech hat den Wochentag vom 17.August bestimmt und der ist tatsächlich ein Samstag.

Mich hat hier eher die Frage interessiert, warum Christoph seine Lösung funktionierte.

Der Unterschied zwischen beiden Lösungen bestand darin:

Mech: new Date(jahr,monat,tag)
Christoph: new Date("monat/tag/jahr")

Christoph übergab einen fertigen vollständigen Datumsstring in einer gültigen Konvention.
Mech übergab Werte, die erst in einen gültigen Datumsstring umgewandelt werden müssen.

Diese Umwandlung erfolgt intern und da beginnt die Monatszählung bei 0. So zumindest meine Vermutung.

Merke:

ersetzen durch:

Kommt bei Datumsberechnungen Unfug raus, so prüfe ob deine Monatszählung bei 0 beginnt.

Viele Grüße

Antje