x-plosiv: datum formatieren

hallo...

ich weiss es gibt schon x einträge in diesem forum zu diesem thema...dennoch habe ich die richtige lösung nirgends gefunden.
Ich wäre euch sehr dankbar wenn ihr mir helfen könnt.

besten dank im voraus

also ich habe folgendes problem. ich will aus meiner mysql datenbank alles auslesen und gebe es mit einer while schlaufe aus.
jetzt habe ich eine spalte datum (date nicht timestamp) und die möchte ich in ein deutsches format bringen. wie mache ich das?

bis jetzt sieht es so aus:

$result = mysql_db_query("radiox","select * from prog order by datum desc");

while($row = mysql_fetch_array($result)){

echo $row["datum"];
echo $row["name"];
echo $row["vorname"];

etc.

gruss

x-plosiv

  1. Hallo,

    wenn du keinen stamp hast, dann wirst die Zeichenkette wohl mit ereg_replace, oder wenns schwieriger ist mit preg_replace bearbeiten müssen....

    Grüsse
    Stolzi

    --
    Meine PHP_Scripts unter http://stolzi.westo.at
    zB Forum, Album, Mailer, usw.
  2. wie wärs mit:

    function datumDeutsch($mysqldate)
    {
       list($jahr, $monat, $tag) = explode("-", $datum);
       $datum=sprintf("%02d.%02d.%04d", $tag, $monat, $jahr);
       return $datum;
    }

    und dann unten
    echo datumDeutsch($row["datum"]);
    gruss Uli

    1. daaaaaaaaaaaaaaaaaaaanke uli...es hat geklappt....

      merci :-)

      1. ach noch eine frage...die kannst du mir ev. auch gleich beantworten.

        wie mache ich das umgekehrt?
        sprich...wie kann ich in einem formular das datum in deutschem format angeben, so dass die mysql db das datum erkennt. und das ganze wieder mit einem date feld.

        danke

        1. hi nommal, enstsprechend halt

          list($tag, $monat, $jahr) = explode(".", $datum);
             $datum=sprintf("%04d.%02d.%02d", $jahr, $monat, $tag);
             return $datum;
          ist doch net so schwer...
          aber glaub sönke hat recht über mysql wärs vielleicht sauberer
          uli

  3. jetzt habe ich eine spalte datum (date nicht timestamp) und die möchte ich in ein deutsches format bringen. wie mache ich das?

    Wirf einen Blick in die Anleitung zur Datenbank, (My-) SQL bietet Funktionen in Hülle und Fülle, auch zur Formatierung von Daten (Abschnitt "Functions for use in SELECT..").

    Alternativ kannst Du die Formatierungsfunktion von PHP benutzen; dort mußt Du allerdings beachten, daß die PHP-Funktionen einen Zeitpunkt mittels der Anzahl Sekunden seit Mitternacht 1.1.1970 GMT angeben ("unix timestamp"), MySQL hingegen ein für Normalsterbliche direkt lesbares Format JJJJMMTTHHMMSS (bzw. Teile davon) verwendet. Zum Umwandeln eignen sich wiederum MySQL- oder PHP-Funktionen, ganz wie Du lustig bist.

    Achte aber darauf, daß Du nicht mit der Sommerzeit in's Stolpern kommst (GMT kennt keine Sommerzeit, MEZ schon). Sofern Du PHPs mktime() verwendest, benutze deshalb zur Sicherheit nicht 0 Uhr sondern 12 Uhr.

    Gruß,
      soenk.e