phpbar.de logo

Mailinglisten-Archive

[php] 12/Mar/2001 in 2001-03-12 konvertieren

[php] 12/Mar/2001 in 2001-03-12 konvertieren

Juri Albert php_(at)_phpcenter.de
Fri, 6 Apr 2001 14:50:41 +0200


----- 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