# DATE_FORMAT -> ich kapier es nicht



## matic (28. Februar 2007)

Hallo,

bin gerade dabei mir ein kleines Gästebuch zu programmieren und wollte aus Gründen der Ästhetik das von MySQL übertragene Datum in die "europäische Form" zu bringen.

sprich das Datum kommt aus MySQL so an: 2007-02-28 14:50:13
und ich möchte es in dieses Format bringen: 28.02.2007 14:50:13

ich weiß, dafür ist der befehl DATE_FORMAT da aber ich weiß einfach nicht wo ich diesen Anbringen soll

anbei der betroffene Code


```
<?PHP


$abfrage = "SELECT name, email, homepage, eintrag, datum FROM testgb ORDER BY datum DESC";
$ergebnis = mysql_query($abfrage);
$anzahl = mysql_num_rows($ergebnis);

if($anzahl == 0){
	
	echo 'Es sind noch keine Einträge vorhanden';
}

else{
	 
	 echo '<table border="0">';
  
  while($row = mysql_fetch_object($ergebnis))
    {
		
		echo '<tr>
						<td><a href="mailto:'.$row->email.'">'.$row->name.'</a> ( <a href="'.$row->homepage.'">'.$row->homepage.'</a> ) schrieb am '.$row->datum.'
						</td>
					</tr>
					<tr>
						<td>'.$row->eintrag.'<br></br></td>
					</tr>';
						
    
    }
    
echo '</table>';

}
?>
```

ich hoffe mir kann jemand helfen!

Da kommt mir noch eine Frage: Ich speichere das Datum in MySQL als "DATETIME"

wäre es damit auch möglich das Datum da aus der DB kommt zu trennen - sprich, dass ich im Endeffekt ein solches Ergebnis:

28.02.2007 um 14:50:13 Uhr 

erzielen kann ohne 2 extra MySQL-Spalten mit DATE und TIME anlegen zu müssen ?


----------



## Gumbo (28. Februar 2007)

Schau dir mal die Funktionsbeschreibung der DATE_FORMAT()-Funktion im MySQL-Handbuch an. Schau dort auch bitte zuerst rein, bevor du eine Frage stellst.


----------



## matic (28. Februar 2007)

das habe ich schon und raff es noch immer nicht sonst hätte ich hier nicht gepostet


hab es vorhin so mal probiert

$abfrage = "SELECT DATE_FORMAT(`datum`, "%d.%m.%Y") AS `datum_formatiert` name, email, homepage, eintrag FROM testgb ORDER BY datum DESC";
$ergebnis = mysql_query($abfrage);
$anzahl = mysql_num_rows($ergebnis);

aber auch das funktioniert nicht


----------



## Gumbo (28. Februar 2007)

Die Anführungszeichen der Abfragezeichenkette und die der Formatzeichenkette innerhalb der Abfrage stehen in einem Konflikt. Letztere müssten vor dem PHP-Interpreter maskiert werden, damit die Zeichenkette nicht vorzeitig abgeschlossen wird.


----------



## matic (28. Februar 2007)

ok danke jetzt hats geklappt allerdings gibt er mir jetzt nur das Datum aus und die Zeit nicht mehr!


----------



## Gumbo (28. Februar 2007)

Dann musst du das Datumsformat anpassen.


----------



## matic (28. Februar 2007)

sprich in der mysql-datenbank von einer spalte mit dem typ DATETIME auf eine Spalte mit Date und eine Spalte mit Time umsatteln ?


----------



## Radhad (28. Februar 2007)

```
DATE_FORMAT(`datum`, '%d.%m.%Y' %T);
```
%T gibt die ZEit aus in hh:mm:ss. Anstatt %T könntest du auch %H:%i verwenden, um eine Ausgabe à la hh:mm zu erhalten.

Alternativ: Schau dir mal GET_FORMAT(DATETIME,'EUR') an.


----------



## matic (28. Februar 2007)

omg sry .. ich bin so dumm 

ich hab wieder mal gefragt ohne vorher zu schauen sry .. ich habs schon

Danke du hast mir sehr geholfen


----------

