Un problème courant consiste, après lecture d'un champ MySQL de type DATE (AAAA-MM-JJ) ou DATETIME (AAAA-MM-JJ HH:MM:SS), à le convertir dans un autre format (par exemple JJ-MM-AAAA HH:MM:SS).

Si le premier reflexe consiste à faire cette convertion en PHP (découpage de chaine, regex, etc.), le plus simple reste tout de même de le faire faire par MySQL.

A ce titre, la fonction DATE_FORMAT est faite pour cela. Par exemple, si je désire obtenir la date au format JJ-MM-AAAA, de l'enregistrement dont l'id vaut 1, sachant que ce champ est au format DATETIME, il suffit de faire :

...
$query = "SELECT DATE_FORMAT(date,'%d-%m-%Y') AS datefr FROM matable WHERE id=1";
...
Dans une large mesure, des tas de problématiques peuvent être traitées par MySQL. Les regler par PHP revient souvent à réinventer la roue et dégrader les perfs.

Consulter le lien