Mailinglisten-Archive |
----- Original Message -----
From: "Andre W." <TGe303_php_(at)_gmx.de>
To: <php_(at)_phpcenter.de>
Sent: Friday, April 06, 2001 1:09 PM
Subject: [php] 12/Mar/2001 in 2001-03-12 konvertieren
> Hallo,
Hi Andre
> gibt es in php eine elegante Möglichkeit ein Datum wie 12/Mar/2001 in
> das Standardformat 2001-03-12 zu konvertieren?
Ja, hier eine Beispielfunktion, wahrscheinlich nicht der eleganteste Weg
aber es funktioniert
<?php
#Funktion convert_date(DATUM, LOCATION)
#Konvertiert ein Datum aus dem Format 'DD/xyz/YYYY'
#in den Format 'YYYY-MM-DD'
#Falls Monatsangabe falsch, wird -1 zurückgegeben
function convert_date($datum, $loc){
$pos=-1;
$datum_array=explode('/',$datum);
if ($loc=='de'){
$month_array_de=array( 'jan',
'feb',
'mar',
'apr',
'mai',
'jun',
'jul',
'aug',
'sep',
'okt',
'nov',
'dez');
}
else{
$month_array_en=array( 'jan',
'feb',
'mar',
'apr',
'may',
'jun',
'jul',
'aug',
'sep',
'okt',
'nov',
'dec');
}
$month_array='month_array_'.$loc;
while (list($a,$b)=each($$month_array)){
if ($b==strtolower($datum_array[1])) $pos=$a+1;
}
return (($pos!='-1')?
sprintf("%04d-%02d-%02d",$datum_array[2],$pos,$datum_array[0]) :
'-1');
}
# Aufruf
echo '<br>'.convert_date('12/Mai/2001','de');
echo '<br>'.convert_date('12/maY/2001','en');
?>
so sieht die Ausgabe aus:
2001-05-12
2001-05-12
Gruss, Juri.
php::bar PHP Wiki - Listenarchive