Oktober bei datumsfunktionen

hi,

ich habe mir dieses testscript zur datumsberechnung geschrieben

$date[0] = 25; //tag
$date[1] = 10; //monat
$date[2] = 2003; //jahr
$week = 1;

function datePlusWeek($date, $week) {
$startDate_mk = mktime (0, 0, 0, $date[1], $date[0], $date[2]);
$startDate = date(‚Y-m-d‘, $startDate_mk);
//1 woche --> 168 stunden, 1 stunde --> 3600 sek.
$finishDate_mk = $startDate_mk + ((168 * 3600) * $week);
$finishDate = date (‚Y-m-d‘, $finishDate_mk);
return $finishDate;
}
$finishDate = datePlusWeek($date, 1);
echo "Laufzeit $week Woche
";
echo ‚vom: ‚.$date[2].‘-‘.$date[1].’-’.$date[0];
echo ’
';
echo „bis: $finishDate“;

beim durchchecken bin ich auf eine eigentümlichkeit gestoßen
folgende ausgaben habe ich erhalten

Laufzeit 1 Woche
vom: 2003-10-25
bis: 2003-10-31

Laufzeit 1 Woche
vom: 2003-8-25
bis: 2003-09-01

Laufzeit 1 Woche
vom: 2003-12-25
bis: 2004-01-01

Laufzeit 1 Woche
vom: 2003-11-25
bis: 2003-12-02

Laufzeit 1 Woche
vom: 2004-3-25
bis: 2004-04-01

Laufzeit 1 Woche
vom: 2004-10-25
bis: 2004-10-31

bei allen monaten beginnt die berechnung der woche (7 tage) mit dem ersten folgetag
2003-8-25 --> 26.(1), 27.(2), 28(3), 29.(4), 30.(5), 31.(6), 1.(7)
außer oktober, da wird der der starttag schon mitgezählt
2003-10-25 --> 25.(1), 26.(2), 27(3), 28.(4), 29.(5), 30.(6), 31.(7)

ich finde einfach nicht heraus warum, alle monate (auch märz, ich dachte erst es hat
was mit der sommerzeit zu tun) zählen nach zählweise 1, außer oktober der zählt auf
zählweise 2. habe es auch mit verschiedenen jahrgängen getestet wegen schaltjahr und so,
aber auch nichts 2003 ist kein schaltjahr, 2004 ist ein schaltjahr, der oktober bringt
ein anderes ergebnis.
wieso oktober? was ist da besonderes?
weiß jemand warum bzw. welche ursache dahintersteckt?

cu
harald

Hallo,

ich habe jetzt gerade Dein Script nicht nachvollzogen, aber:
In einer Mailingliste las ich gerade auch eine Frage nach seltsamen Datumsirritationen im Oktober - und da war die Antwort recht einfach die Umstellung von Sommer auf Winterzeit vom 25. auf den 26. 10.

Kann es das sein?

Greetinx
Christian

hi,

du liegst richtig, es hat was mit der umstellung der sommerzeiz zu tun.
habe inzwischen zwei lösungen gefunden.

cu
harald

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]