Dates php

Résolu/Fermé
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 - 5 nov. 2009 à 18:22
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 - 9 nov. 2009 à 18:22
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
A voir également:

7 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
5 nov. 2009 à 18:49
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).
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
9 nov. 2009 à 14:19
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 ?
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
9 nov. 2009 à 17:18
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();
0
Utilisateur anonyme
9 nov. 2009 à 14:23
$maDate = $message['date']; 
$maDate = explode('-',$maDate);
echo $maDate[2].'.'.$maDate[1].'.'.$maDate[0];


Voilà !!!
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
9 nov. 2009 à 14:41
Et j'obtiens ceci :
00.00.000000.00.000005.11.200905.11.2009

0

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

Posez votre question
Utilisateur anonyme
9 nov. 2009 à 14:48
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 !


0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 18
9 nov. 2009 à 15:54
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.
0
Fetide68 Messages postés 746 Date d'inscription dimanche 4 janvier 2009 Statut Membre Dernière intervention 16 septembre 2024 32
9 nov. 2009 à 18:22
C'est tout bête, mais fallait le savoir..

Merci. Le timestamp marche super.

Merci aussi à Anonyme...
0