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. $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. 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. 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