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