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