Mailinglisten-Archive |
> -----Ursprüngliche Nachricht-----
> Von: php-bounces at phpbar.de [mailto:php-bounces at phpbar.de] Im Auftrag
von
> Sebastian Mendel
> Gesendet: Dienstag, 08. Juni 2004 18:38
> An: deutschsprachige PHP-Mailingliste
> Betreff: Re: [php] Datum - 1 Monat
>
> ANGEL Harald schrieb:
>
> > Hi Liste!
> >
> > $dat5 = "2004-07-31";
> > $dat2 = getdate(strtotime($dat5." -1 month"));
> > echo $dat2;
> >
> > Da kommt heraus: "2004-07-01"
> >
> > Das is doch unsinnig oder?? 31.7 weniger einem Monat ist doch
sinniger
> > weise der 30.6. und nicht der 1.7.!
>
> 2004-07-31 - 1 monat = 2004-06-31 = 2004-07-01
>
> stimmt schon ... irgendwie
>
> > Wie bring ich das php ohne 10 ifs bei??
>
> du musst halt überprüfen ob der Monat zu dem du wechseln willst auch
so
> viele Tage hat wie der aktuelle Tag ist, wenn nicht brauchst du den
> letzten Tag von dem Monat zu dem du wechseln willst
*grübel* es gibt nen wunderbaren befehl in php: checkdate()
hab mal ein paar zeilen geproggt dies sollte (ungeprüft) eigentlich
gehen:
<code>
$dat5 = "2004-07-31";
$dat_t = explode('-',$dat5);
$dat_t[1]--;
if ($dat_t[1] == 0)
{
$dat_t[1] = 12;
$dat_t[0]--;
}
while (!checkdate($dat_t[1],$dat_t[2],$dat_t[0])) $dat_t[2]--;
$dat_ausgabe = implode('-',$dat_t);
</code>
Hoffe geholfen zu haben!
Mit freundlichen Grüßen
Wolfgang Stelzhammer
php::bar PHP Wiki - Listenarchive