Seite 1 von 1

MySQL-Datum in deutsches Datum umwandeln ?

Verfasst: 15.04.2004 16:57
von tschekowski
Hi,

Wie kann ich das Datum aus meiner Datenbank (YYYY-MM-DD) in ein deutsches Datumsformat (DD-MM-YYYY) konvertieren ?

tschekowski

Verfasst: 15.04.2004 18:47
von xnay
so:

Code: Alles auswählen

$datum_deutsch = preg_replace("!([0-9]{4})-([0-9]{2})-([0-9]{2})!", "\\3.\\2.\\1", $datum);

Verfasst: 16.04.2004 22:53
von Pyramide
Oder du fragst den Wert von MySQL als Unix-Timestamp ab (SELECT unix_timestamp(datumsfeld) ...) bzw. konvertierst das Datum in PHP mit [php:strtotime] und kannst dann [php:date] oder [php:strftime] verwenden.

Verfasst: 24.04.2004 10:44
von xnay
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!?

Verfasst: 24.04.2004 12:37
von Xmopf
Oder wie wäre es du zerlegst das Datum aus der Datenbank mit explode und setzt es nachher im Text wieder so zusammen wie du es brauchst.

Verfasst: 24.04.2004 13:43
von Fraenky
so gehts mit explode einwandfrei:

Code: Alles auswählen

$element=explode('-', $datum0);
$datum="".$element[2].".".$element[1].".".$element[0]."";
echo $datum;
datum0 ist dann das Datum aus der mySQl DB..

cya!

MfG
Fraenky

Verfasst: 24.04.2004 15:13
von Pyramide
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. :roll: