Mailinglisten-Archive |
Hoi Liste, ich habe gerade einen Kalender programmiert und dabei ist mir etwas seltsames aufgefallen. Ich ermittelte das Datum des n=E4chtsen Tages einfach, indem ich zum = timestamp von heute 00:00:00 Uhr 86400 Sekunden addiert habe. Logischerweise = m=FC=DFte ich dann beim n=E4chsten Tag um 0 Uhr gelandet sein. Diesen Vorgang = wiederholte ich so oft wie Tage im Kalender angezeigt werden sollten. Dabei traten = dann seltsame Effekte auf (z.B., das Termine, die an einem bestimmten Tag = gewesen w=E4ren, am Tag vorher angezeigt wurden). Nun ersetzte ich (sinngem=E4=DF) <?php $heute =3D mktime(0,0,0); $akt_tag =3D $heute; while(...) { $akt_tag =3D $akt_tag + 86400; } ?> durch <?php $heute =3D mktime(0,0,0); $akt_tag =3D $heute; while(...) { $akt_tag =3D mktime(0,0,0,date("m",$akt_tag),(date("d",$akt_tag) + 1),date("Y",$akt_tag)), } ?> und prompt funktionierte es korrekt. Warum? mfg m.tacker
php::bar PHP Wiki - Listenarchive