Problème DateTime()/date_create()r

Résolu
Bonjour,

Voilà j'aimerai formater certaines dates venu de ma BDD en php j'ai donc regardé un peu la doc et je suis tombé sur DateTime() ou son prédécesseur date_create() (le premier est un csontructeur le second une fonction)

Donc voilà ce que j'essaye de faire :

$date=new DateTime(madate);

$date=date_create(madate);

Mais que ce soit l'un ou l'autre mon firebug me retourne des "NetworkError: 500 Internal Server Error - http://xyxyxz.com/compta/index.php" qui d'habitude et souvent dues à une erreur de synthaxe, or les ";" sont là et je ne vois pas d'autre erreurs de synthaxe.

Bref je cherche de l'aide ou une explicationa fin d'utiliser cette propriété du php.

Merci d'avance !

10 réponses

  1. Bonjour,

    Pourquoi ne pas formater la date directement dans ta requête SQL avec un CONVERT ?
    1. Car pour le coup ce n'est pas moi qui génère cette requête mais un outil de data viewer
      1. OK.
        As-tu bien mis les quote autour de madate à $date = new DateTime('madate'); ?
        Une fois que tu as fais ça, utilises $date->format('Y-m-d H:i:s') au lieu de juste $date pour spécifier ton format.
        1. Elle sort en (y-m-d) et je l'a voudrais en (d-m-y)

          Euh je en met pas de cote mais je lui passe des variables du genre
          new DateTime($madate) plutot que new DateTime('madate')
          Par contre Mr YAU peu importe l'écriture du format je n'arrive pas à passer le new DateTime()
          1. Ok donc le format ne pose pas de problème a priori.
            Peux tu nous donné un bout de code pour voir :)
            1. Oui bien sur !

              $date=new DateTime($data[$j][$conf_columns[$j]]);
              $field['output_script'] .= "<td><span class=\"field\"> ".$date;
              $field['output_script'] .= "</span></td>";
              
              


              Pour l'instant je n'ai pas remis le format puisque même ça ne fonctionne pas :x
              1. $date=new DateTime($data[$j][$conf_columns[$j]]);
                $field['output_script'] .= "<td><span class=\"field\"> ".$date->format('d-m-Y');
                $field['output_script'] .= "</span></td>";

                Essaye avec ca pour voir :)
                Sinon un echo de $data[$j][$conf_columns[$j]] pour voir

                Jérémy
                1. Oui effectivement en formattant a l'endroit exact ou je l'utilise ca fonctionne merci ! =D
                  1. Pour concaténer (et faire un echo) il faut un string, or $date était un DateTime ;-)
                    Regarde bien les types, et tout ira bien :)
                    La fonction format de DateTime te renvois un string, donc le type qu'il te fallait