Mailinglisten-Archive |
Lutz Zetzsche schrieb: > Hallo Peter, > > Am Donnerstag, 27. April 2006 12:52 schrieb Peter Bieling: >> Lutz Zetzsche wrote: >>> for ($i=0; $i<($iTageDiff+1); $i++) { >>> $aAusgangsinfos[] = date('d.m.Y', ($iZeitVon+($i * 60*60*24))); >>> } >> im Prinzip könnte man das auch in dieser Art lösen, indem man einfach >> den Tag weiterzählt, bis das Enddatum stimmt: >> >> <?php >> $day=6; >> $date=''; >> while ($date != '03.02.2007') { >> $date = date("d.m.Y", mktime(0, 0, 0, 12, $day, 2006)); >> echo $date . "<br>"; >> $day ++; >> } >> ?> >> >> Dies nur als Test. Das muss man natürlich noch entsprechend >> abstrahieren. > > technisch ist das zwar möglich, aber inhaltlich äußerst unelegant. :-) > Damit nutzt Du aus, daß PHP ein fehlerhaftes Datum korrigiert. Also > eigentlich machst Du hier absichtlich einen Fehler und verläßt Dich > darauf, daß PHP es dann so machst, wie es sein soll. Mir persönlich > gefällt das nicht so. Ich finde es auch vom Code her nicht so > verständlich. Ohne Hintergrundwissen ist das nicht selbsterklärend. Das ist aber keinesfalls ein Fehler sondern eine Funktion von mktime() Im Handbuch wird sogar ausdrücklich darauf hingewiesen und als Beispiel verwendet. "mktime() is useful for doing date arithmetic and validation, as it will automatically calculate the correct value for out-of-range input." Genau dafür ist mktime() unter anderem vorhanden. mktime() erwartet nicht unbedingt ein gültiges Datum, es liefert aber immer eins zurück. -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive