MySQL-Datum in deutsches Datum umwandeln ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
tschekowski
Mitglied
Beiträge: 180
Registriert: 18.05.2003 16:44

MySQL-Datum in deutsches Datum umwandeln ?

Beitrag von tschekowski »

Hi,

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

tschekowski
xnay
Mitglied
Beiträge: 91
Registriert: 05.11.2003 18:49
Wohnort: Wien
Kontaktdaten:

Beitrag von xnay »

so:

Code: Alles auswählen

$datum_deutsch = preg_replace("!([0-9]{4})-([0-9]{2})-([0-9]{2})!", "\\3.\\2.\\1", $datum);
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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.
xnay
Mitglied
Beiträge: 91
Registriert: 05.11.2003 18:49
Wohnort: Wien
Kontaktdaten:

Beitrag 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!?
Xmopf
Mitglied
Beiträge: 85
Registriert: 17.04.2002 09:21
Wohnort: Sauerland

Beitrag 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.
Benutzeravatar
Fraenky
Mitglied
Beiträge: 111
Registriert: 31.07.2002 13:53

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag 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:
Antworten

Zurück zu „Coding & Technik“