phpbar.de logo

Mailinglisten-Archive

[php] Datum mit ereg erkennen

[php] Datum mit ereg erkennen

Andre Lampe php at andrelampe.de
Mon Aug 27 09:51:19 CEST 2007


Ich möchte Datumseingaben in drei Varianten ermöglichen. Wenn die 
"deutschen" Datumsformate DD.MM.YYYY oder DD.MM.YY eingegeben werden, 
soll das Datum in YYYY-MM-DD umgeschrieben werden.

--------------

$date = "2007-08-27";

if (ereg ("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})", $date, $regs)) {
    $db_date = "$regs[3]-$regs[2]-$regs[1]";
}
elseif (ereg ("([0-9]{1,2}).([0-9]{1,2}).([0-9]{2})", $date, $regs)) {
    $db_date = "20$regs[3]-$regs[2]-$regs[1]";
}
else {
    $db_date = $date;
}
		
echo "Datum Neu: ".$db_date;

--------------

Es wird bei einem englischen Datumsformat aber "Datum Neu: 2008-7-20" 
ausgegeben. Das Datum scheint bei der zweiten ereg-Abfrage erkannt zu 
werden und wird dann falsch formatiert.

Was mache ich falsch?

Viele Grüße,

Andre

php::bar PHP Wiki   -   Listenarchive