Problème DateTime()/date_create()r

Résolu
pignou0 Messages postés 55 Statut Membre -  
jeremy.s Messages postés 1248 Statut Membre -
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. jeremy.s Messages postés 1248 Statut Membre 79
     
    $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
  2. MrYAU31 Messages postés 4631 Statut Membre 1 630
     
    Bonjour,

    Pourquoi ne pas formater la date directement dans ta requête SQL avec un CONVERT ?
    0
  3. pignou0 Messages postés 55 Statut Membre 2
     
    Car pour le coup ce n'est pas moi qui génère cette requête mais un outil de data viewer
    0
  4. MrYAU31 Messages postés 4631 Statut Membre 1 630
     
    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.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    Ta date sort en quel format de da BDD ?
    0
  7. pignou0 Messages postés 55 Statut Membre 2
     
    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()
    0
  8. jeremy.s Messages postés 1248 Statut Membre 79
     
    Ok donc le format ne pose pas de problème a priori.
    Peux tu nous donné un bout de code pour voir :)
    0
  9. pignou0 Messages postés 55 Statut Membre 2
     
    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
    0
  10. pignou0 Messages postés 55 Statut Membre 2
     
    Oui effectivement en formattant a l'endroit exact ou je l'utilise ca fonctionne merci ! =D
    0
  11. jeremy.s Messages postés 1248 Statut Membre 79
     
    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
    0