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