[PHP] - Datum formatieren/umwandeln

Toby

Cadet 4th Year
Registriert
Mai 2003
Beiträge
107
Hallo,

wie kann man z.B. folgendes Datumsformat für eine MySQL-Datenbank umwandeln.


So wird das Datum im Formular eingegeben:
20. November 2005



So sollte das Datum umgewandelt werden, damit MySQL das Datum speichern kann:
2005-11-20


grüße
Toby
 
also ich würde die Eingabe da schon korrigieren, z.B. generell 18.10.2005 oder so machen, und dann per $newdate = explode(".", $date) in ein Array laden, und dann per $date = $newdate[2]."-".$newdate[1]."-".$newdate[0]

In dein gewünschtes Format bringen. Monatsnamen würde ich da also nicht eingeben, das macht die Sache 1. komplizierter und 2. ist 18.10.2005 auch schneller eingetippt.
 
Code:
date("Y-m-d",mktime(0,0,0,$monar,$tag,$jahr));
geht vielleicht noch einfacher
 
Hallo,

Ansätze das Datum in ein solches Format umzuwandeln gäbe es gerade genug.
Dies könnte zum Beispiel so aussehen:

1) Monate anhand eines Arrays und str_replace() in numerische Angaben umwandeln.
2) Mittels regulärer Ausdrücke dieses entsprechend umformen:

PHP:
$format = preg_replace("#(\d+).*(\d+).*(\d+)#is", "\\3\-\2-\\1", $datum);

// ungetestet ;)

3) Falls die einzelnen Zahlen aus zu wenigen Ziffern besten führende Nullen noch hinzufügen

MfG mh1001

//Edit

@TheWarrior:

Die mktime-Funktion ist hier leider nicht anwendbar, da zum einen das Datum auch wieder erst entsprechend zerlegt werden müsste und zum anderen diese auch nur numerische oder englische Angaben akzeptiert.
 
Zuletzt bearbeitet:
naja, dass meine Lösung nicht die Schönmöglichste ist weiss ich auch, aber ich denke mir mal, dass man z.B. den Monat in einem Dropdown-Menü ausgewählt wird, und der übermittelte Wert dann ja wahrscheinlich eine Zahl ist.

Abgesehen davon ist der Einwand natürlich richtig.
 
Zurück
Oben