1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
/**
 * Wandelt das Datum oder die Zeit aus
 * mySQL-Datenbanken in das deutsche Format um.
 *
 * Achtung:
 *          KEIN Unix-Timestamp !!!
 *          Nur aus DATE- oder DATETIME-Feldern !!!
 *
 * @param str $Datum - Das Datum / die Zeit aus der mySQL-Datenbank.
 * @return str - Datum im deutschen Format.
 */

function DatumsWandler($Datum) {
    if(strlen($Datum) == 10) {
        $GewandeltesDatum = substr($Datum, 8, 2);
        $GewandeltesDatum .= ".";
        $GewandeltesDatum .= substr($Datum, 5, 2);
        $GewandeltesDatum .= ".";
        $GewandeltesDatum .= substr($Datum, 0, 4);

        return $GewandeltesDatum;
    } elseif(strlen($Datum) == 19) {
        $GewandeltesDatum = substr($Datum, 8, 2);
        $GewandeltesDatum .= ".";
        $GewandeltesDatum .= substr($Datum, 5, 2);
        $GewandeltesDatum .= ".";
        $GewandeltesDatum .= substr($Datum, 0, 4);
        $GewandeltesDatum .= substr($Datum, 10);

        return $GewandeltesDatum;
    } else {
        return FALSE;
    }
}
?>

Anwendung der Funktion:

1
$datumGER     = DatumsWandler($daten[$i]->Datum);

Hinweis:
Dies betrifft nur die Datentypen „DATE“ und „DATETIME“, nicht „TIME“ und auch nicht „TIMESTAMP“.

Eine Meinung zu “MySQL-Datum (DATE / DATETIME) in ein lesbares (deutsches) Format wandeln

  1. Statt der Datumswandlerfunktion kann man auch in MySQL direkt mit der Funktion date_format() das Datum korrekt formatiert als String zurückgeben.
    Gruß
    Christian

Schreibe einen Kommentar

Ihre Email-Adresse wird nicht veröffentlicht. Pflichtfelder sind durch * markiert.

Sie können folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>