Hi,
Wie kann ich das Datum aus meiner Datenbank (YYYY-MM-DD) in ein deutsches Datumsformat (DD-MM-YYYY) konvertieren ?
tschekowski
MySQL-Datum in deutsches Datum umwandeln ?
-
- Mitglied
- Beiträge: 180
- Registriert: 18.05.2003 16:44
so:
Code: Alles auswählen
$datum_deutsch = preg_replace("!([0-9]{4})-([0-9]{2})-([0-9]{2})!", "\\3.\\2.\\1", $datum);
Was mich mal interessieren würde:
Wie siehts denn eigentlich mit der geschwindigkeit von preg_replace() aus? Ist es besser daten in einem feld vom typ Date zu speichern und dieses dann mittels preg_replace() in ein deutsches umzuwandeln oder wäre es besser die daten als Timestamp zu speichern und diesen dann umzuwandeln!?
Wie siehts denn eigentlich mit der geschwindigkeit von preg_replace() aus? Ist es besser daten in einem feld vom typ Date zu speichern und dieses dann mittels preg_replace() in ein deutsches umzuwandeln oder wäre es besser die daten als Timestamp zu speichern und diesen dann umzuwandeln!?
so gehts mit explode einwandfrei:
datum0 ist dann das Datum aus der mySQl DB..
cya!
MfG
Fraenky
Code: Alles auswählen
$element=explode('-', $datum0);
$datum="".$element[2].".".$element[1].".".$element[0]."";
echo $datum;
cya!
MfG
Fraenky
Alle Lösungen, die das Datum lediglich als String manipulieren haben das Problem, daß sie extrem unflexibel sind. Wenn man sich z.B. irgendwann entschliesst, zusätzlich zum Datum noch die Uhrzeit zu speichern, werden sie entweder gar nicht mehr funktionieren oder unvorhersehbare Ergebnisse liefern. Wenn man SELECT unix_timestamp(..) + [php:date] verwendet, bleibt die Ausgabe immer gleich. Wenn man die Datenbank nur von PHP verwendet, ist es noch einfacher, wenn man direkt den Unix-Timestamp speichert (d.h. Datentyp int) und sich so das konvertieren spart. 
