Dates php

Résolu
Bonjour,

J'ai une date enregistrée dans ma base de données au format : 2009-11-05

Lorsque je "l'echo" comme ceci : $message['date'] (après la requete), il m'affiche la date comme ça :
2009-11-05.

Si je fais :
$maDate = $message['date'];
$maDate = date('d.m.Y', $maDate);

Il me met le 01.001.1970. Comment affiche la bonne date au bon format ?

Merci

--
votez pour votre film préféré sur FaceBook & recherchez le Groupe Top Films...
Configuration: Windows Vista
Firefox 3.5.4

7 réponses

  1. C'est tout bête, mais fallait le savoir..

    Merci. Le timestamp marche super.

    Merci aussi à Anonyme...
    1. Je vais te dire moi comment je fais.
      Le champ dans la table, tu le nomme timestamp et tu le met en BIGINT valeur : 20
      Après, pour l'enregistrer dans la table, tu fais une requete, et dans la requete tu met time(), time() va enregistrer le timestamp.
      Tu fais une requete pour selectionner table
      Tu fais une boucle en faisant un tableau

      <?php
      while ($donnees = mysql_fetch_array($requete))
      {
      $timestamp = $donnees['timestamp']; //On récupère l'entrée timestamp
      echo 'Le timestamp enregistré est '.date(d-m-Y, $timestamp).'';
      }
      ?>

      Là, ce code te donne le timestamp au format JJ-MM-YYYY.
      1. Personnellement, quand je fais ça :

        <?php
        
        $maDate = '2009-05-11'; 
        $maDate = explode('-',$maDate);
        echo $maDate[2].'.'.$maDate[1].'.'.$maDate[0];
        
        ?>
        

        J'obtiens bien 11.05.2009...

        Si $message['date'] vaut bien 2009-05-11, je vois pas où ça cloche !

        1. Et j'obtiens ceci :
          00.00.000000.00.000005.11.200905.11.2009

          1. $maDate = $message['date']; 
            $maDate = explode('-',$maDate);
            echo $maDate[2].'.'.$maDate[1].'.'.$maDate[0];
            


            Voilà !!!
            1. J'ai bien peur de ne pas avoir tout saisi...

              Si je doit entrer ma date en INT il faut que je sépare les mois, les jours et les années ?
              1. Non. Le timestamp représente la date en un nombre entier, qui est l'équivalant du nombre de seconde depuis le 01/01/1970. À partir de ce chiffre, il pourra donner la date que représente ce chiffre. Pour récupérer le timestamp : $date = time();
            2. Le deuxième argument de la fonction date doit être un timestamp, càd le nombre de secondes écroulées depuis le 01/01/1970 à 00:00.
              Transforme donc ton champ 'date' en INT et lorsque tu insères un enregistrement, donne lui le timestamp actuel (récupérable avec la fonction time).