mysql, php: Datum umwandeln von 2008-07-08 in 08.07.2008?

...komplette Frage anzeigen

5 Antworten

Eine PHP-Funktion ist überflüssig, MySQL kann das Datum mit der Funktion DATE _ FORMAT() (ohne Leerzeichen aber sonst formatiert das blöde Script hier alles kursiv) selbst formatieren, siehe http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format

Webaholic 09.07.2008, 10:56

Eindeutig die beste Antwort. Und tatsächlich mal wieder ne neue MySQL-Funktion die ich in mein Repertoire aufnehmen werde - war mir bisher auch nicht bekannt, hät ich mir aber eigentlich denken können, dass es sowas gibt. Danke dafür.

0

Schon alt aber für alle die das noch lesen:

es ist quatsch, dafür ne Funktion zu schreiben. Man macht es einfach mit date() und strtotime(). Beispiel:

<?php $a = "2008-07-08";

$umwandeln = date("d.m.Y", strtotime($a));

echo $umwandeln; ?>

Hallo :)

$datum="2008-07-08 10:31:11" ;

ereg("([0-9]{4}).([0-9]{2}).([0-9]{2})", $datum, $alter);

$bdate="$alter[3].$alter[2].$alter[1]"; echo $bdate;

($date=08.07.2008)

LG

Im Manual von PHP wird das ganz gut beschrieben. Siehe hier: http://de2.php.net/manual/de/function.date.php

$datetime = "2008-07-08 10:31:11";

echo date("d.m.Y", mktime(0,0,0, (int)substr($datetime,5,2), (int)substr($datetime,8,2), (int)substr($datetime,0,4) ) );

tk111 09.07.2008, 07:25

Das perfekte Beispiel wie man es nicht machen soll - so bist du nämlich darauf angewiesen dass die Datenbank das Datum immer im gleichen Format liefert und so ein Format kann sich auf ändern (siehe Umstellung des Timestamp-Formats von Version 4.0 auf 4.1, da sind einige Leute auf die Nase gefallen die den gleichen Unsinn gemacht haben). Lass die Datumsformatierung von MySQL selbst machen, MySQL kann das selbst viel besser - die Datumsfunktionen existieren (Link steht in meiner Antwort)

0
UlfDunkel 09.07.2008, 08:10
@tk111

Hallo tk111. MathiasPolster hatte aber nach einem PHP-Befehl gefragt - und wird sicher anhand meines Beispiels in der Lage sein, bei Änderungen des Timestamp-Formats in seinen MySQL-Datenbanken das PHP-Script rasch anzupassen.

Im übrigen ändert sich das Format ja nicht von allein, sondern nur, wenn man sein MySQL auf dem Server aktualisiert. Das sollte normalerweise nicht einfach so vom ISP gemacht werden.

Aber egal -- schön ist ja, dass er jetzt verschiedenste Wege gezeigt bekommen hat, wie er das Problem lösen kann, nicht?

0
tk111 09.07.2008, 08:46
@UlfDunkel

Wenn jemand in so einem Fall nach einem PHP-Befehl fragt, heißt dass noch lange nicht, dass er das Problem unbedingt mit PHP lösen will - in den meisten Fällen weis der Fragende einfach nicht, dass sich das Problem sinnvoller mit einer MySQL-Funktion lösen lässt.

Und möglicherweise (m. nur weil er den Code wohl nur kopieren wird, aber nicht wirklich versteht was er macht) wird er wirklich in der Lage sein das Script anzpassen - nur wenn man es richtig[tm] macht, ist es überhaupt nicht notwendig das Script anzupassen.

Wie andere Provider das bei Updates machen, weiß ich nicht, aber meiner kündigt Updates vorher an - nur habe ich oft den Eindruck, dass viele die Mails nicht lesen oder einfach ignorieren und sich dann nach dem Update wundern warum ihre Scripte nicht mehr richtig funktionieren (oder sie haben irgendwelche Scripte installiert, die sie mangels PHP-Kenntnisse überhaupt nicht ändern bzw. auf notwendige Änderungen überprüfen können).

0

Was möchtest Du wissen?