Transformer date

Résolu
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009 - 23 févr. 2008 à 21:23
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 - 24 févr. 2008 à 21:15
Bonjour à tous,

Voila j'ai une base de données, avec une table agenda, dedans j'ai un champs au format "date", donc les dates sont entrées sous la forme aaaa-mm-jj...

Dans ma page php, j'affiche ttes les données de l'agenda, j'arrive a transformer en format francais a l'aide d'une des contributions, mais maintenant j'aimerai qu'il soit marqué par exemple, 23 février 2008 au lieu de 23-02-2008...

En parcourant ttes les contributions, j'ai pu voir comment on fesai avec le date() et donc l'heure server, mais pas comment on fait avec une date se trouvant dans la base de donnée...

Ca serai très sympa de me donner quelques tuyaux...

Merci d'avance!
Nicolas.

ps: voila mon code pour afficher les dates...
function afficheAgenda(){
        $sql="select * from agendas order by date";
        $rs=mysql_query($sql) or die ("Erreur de requête : $sql");
        $date_serveur=date('Y-m-d');
        while($row=mysql_fetch_array($rs))
            {
            extract ($row);
            if ($date_serveur <= $date) {
                
                
                print "<tr>";
                print "<td>" . eregi_replace("([0-9].*)-([0-9].*)-([0-9].*)" ,"\\3-\\2",$date) . " $heure</td>";
                print "<td>$nom</td>";
                print "<td>$lieu</td>";
                print "</tr>";
            }
        }
}

9 réponses

cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
24 févr. 2008 à 21:15
ok donc ton probleme est resolu ou pas?si oui pense au reponse acceptées


Personne ne peut se permettre de juger l'autre....
3
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
24 févr. 2008 à 03:22
Bonsoir ,
au debut de ton if dans le while tu pourrais mettre :
$jour = substr($date,0,2);
$moi = substr($date,3,2);
$annee = substr($date,7,4);
switch ($moi){
    case 01 :
    $moi = "Janvier";
    breack;
    case 02 :
    $moi = "Février";
    breack;
.
.
.
    case 12 :
    $moi = "Décembre";
    breack;
}
ensuite tu a juste a affiché ta date comme tu le souhaite :
echo $jour." ".$moi." ".$annee;
j'espere t'avoir aider


Personne ne peut se permettre de juger l'autre....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 févr. 2008 à 08:17
Hello,

tu peux aussi voir setlocale() sur php.net et trouve la bon paramètrage en fonction de ton serveur (si ton serveur l'accepte).
Puis tu transformes ta date en timestamp (strtotime()), et enfin, tu relis la fonction date() parce qu'elle prend un second argument qui est un timestamp justement...et tu cherchers dans les options du 1er argument pour afficher une date sous la forme dd moi_en_lettres_ année.
0
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
24 févr. 2008 à 11:55
merci beaucoup pour vos réponses, je m'étais déjà penché quelques temps sur l'option proposée par malalam, sans succès, je vais donc essayer celle de sebastien...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
24 févr. 2008 à 12:22
Après avoir essayé la methode  de sebastien,  ca marche  +- bien...

En fait,  pour une raison qui me dépasse totalement, ca marche pour tous les mois, sauf Août et septembre, pourquoi, tel est la question...
voila mon code: (il est bon de savoir que les dates toutes ont été entrée de la même manière dans la base de donnée, c'est à dire sous le type "date" et avec l'interface calendrier, donc aucune entrée à la main de la date en entier...)

$jour = substr($date,8,2);
            $mois = substr($date,5,2);
            $annee = substr($date,0,4);
            switch ($mois){
                case 01;
                    $mois = "Janvier";
                    break;
                case 02;
                    $mois = "F&eacute;vrier";
                    break;
                case 03;
                    $mois = "Mars";
                    break;
                case 04;
                    $mois = "Avril";
                    break;
                case 05;
                    $mois = "Mai";
                    break;
                case 06;
                    $mois = "Juin";
                    break;
                case 07;
                    $mois = "Juillet";
                    break;
                case 08;
                    $mois = "Ao&ucirc;t";
                    break;
                case 09;
                    $mois = "Septembre";
                    break;
                case 10;
                    $mois = "Octobre";
                    break;
                case 11;
                    $mois = "Novembre";
                    break;
                case 12;
                    $mois = "D&eacute;cembre";
                    break;
            }
            if ($date_serveur <= $date) {
                print "<tr>";
                print "<td align='left' valign='top'>" . $jour . " " . $mois . " " . $heure . "</td>";
                print "<td align='left' valign='top'>$nom</td>";
                print "<td align='left' valign='top'>$lieu</td>";
                print "</tr>";
            }
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
24 févr. 2008 à 20:03
deja je serais toi je mettrais : et non ; apres les case mais je ne pense pas que ton erreur vienne de la j'y reflechi


Personne ne peut se permettre de juger l'autre....
0
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
24 févr. 2008 à 20:12
juste!!! ca fesai lgtps que je n'avai plus utilisé cette methode, j'aurai du me rafraichir la mémoire...

Voila je viens de modifier les ; en : pour les case, mais j'ai toujours le meme problème... Je me demande bien pourquoi ca fonctionne avec tous les mois saud aout et septembre, trop bizarre...
0
cs_sebastien_et_typh Messages postés 289 Date d'inscription jeudi 5 octobre 2006 Statut Membre Dernière intervention 11 juin 2010 3
24 févr. 2008 à 20:29
tu as quoi qui s'affiche lorsque c'est le moi aout ou septembre stp?


Personne ne peut se permettre de juger l'autre....
0
Nicorad Messages postés 30 Date d'inscription mardi 11 décembre 2007 Statut Membre Dernière intervention 19 janvier 2009
24 févr. 2008 à 21:10
j'avais 08 et 09, le mois en chiffre quoi... Je viens de résoudre le problème. Pour ses 2 mois la, je dois mettre case 8 et case 9 au lieu de 08 et 09...Pourquoi, les mystère de l'informatique...
0
Rejoignez-nous