Page 1 sur 1

Transformer format date

Posté : 18 août 2010, 12:42
par yesnie
Bonjour,

j'ai récupéré sur le forum une ligne me permettant d'afficher les entrées effectué les 5 derniers jours :

$sql="SELECT * FROM table WHERE TO_DAYS(NOW())-TO_DAYS(rubriquemcl1) < 5";

Le pb est que je ne stocke pas la date dans le champs " date" mais dans le champs "rubriquemcl1" car la date d'ajout n'est pas la même que celle stockée dans "rubriquemcl1". De plus pour des raisons de lisibilité la date stocké dans le "rubriquemcl1" est au format JJ/MM/AAAA.

Comment faire pour appliqué la commande ci dessous en tenant compte d'une date à un autre format que le AAAA-MM-JJ ?

Merci beaucoup de vos réponses.

Re: Transformer format date

Posté : 18 août 2010, 20:26
par AB
Tu n'emploies pas la bonne méthode.

Il faut toujours stocker les date en bdd au format AAAA-MM-JJ justement pour pouvoir appliquer facilement les fonctions de tri sur les dates.

Ensuite c'est au moment de l'affichage que tu transforme le format AAAA-MM-JJ au format de ton choix. Par exemple en php
function Date_fr($date)
{
   setlocale(LC_TIME, 'french');
   return strftime('%d/%m/%Y', strtotime($date));
}

echo Date_fr('2011-03-15');
ou alternativement avec DATE_FORMAT directement dans ta requête.