phpbar.de logo

Mailinglisten-Archive

[php] Datumsdifferenz als TT.MM.JJJJ in Array packen

[php] Datumsdifferenz als TT.MM.JJJJ in Array packen

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Don Apr 27 15:47:51 CEST 2006


Hallo Peter,

Am Donnerstag, 27. April 2006 15:38 schrieb Peter Bieling:
> also, jetzt noch mal selbsterklärend und schöner: ;-)
> <?php
> $days_arr = array();
> $start_date = '06.12.2006';
> $end_date   = '03.02.2007';
> $date = '';
> list($start_day, $start_month, $start_year) =
>    explode ('.', $start_date);
> $day = $start_day;
> while ($date != $end_date) {
>      $date =  date("d.m.Y",
>                    mktime(0,
>                           0,
>                           0,
>                           $start_month,
>                           $day, //zählt immer einen Tag weiter
>                           $start_year));
>      $days_arr[] = $date;
>      $day ++;
> }
> print_r ($days_arr);
> ?>

naja, Du hast das Problem nur abstrahiert und damit verborgen. ;-) Wer 
den Abschnitt versteht, wird trotzdem drüber stolpern. :-D


> Also, ich sehe das als Feature von mktime, dass man die Möglichkeit
> hat, beliebig viele Tage hinzuzuzählen, um so zu einem gültigen Datum
> zu kommen. Und natürlich verlasse ich mich darauf, dass PHP dieses
> Feature beibehält. Sollte das nicht so gedacht sein, würde sicherlich
> eine Warnung kommen.

Ich weiß jetzt nicht, ob die Frage, ob man es so machen darf oder kann, 
rein philosophischer Natur ist, aber ich persönlich mag diese Lösung 
nicht, weil sie bewußt mit einem Fehler arbeitet, den PHP korrigieren 
soll. Und dabei ist die korrekte Lösung vom Quelltext her nicht 
nennenswert umfangreicher. Außerdem finde ich die logisch korrekte 
Lösung auch nach wie vor verständlicher.


Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive