Insertion date sql dans php

Résolu/Fermé
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 - 4 janv. 2009 à 17:38
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 - 5 janv. 2009 à 11:53
Bonjour,
je souhaite insérer une date tirée d'une base sql sur une page. Je souhaite qu'elle soit au format jj/mm/aaaa.
Dans ma base elle est en format anglais.

Lorsque je met la ligne suivante, j'obtiens bien la date mais en aaaa/mm/jj.

<?php echo date ($donnees['timestamp']); ?>

A partir du moment où je tente de formater avec
<?php echo date ('d/m/Y à H\hi', $donnees['timestamp']); ?>

je me retrouve avec comme date "le 01/01/1970 à 01h00".

Quelqu'un peut-il m'aider à avoir la bonne date avec ce format ?

Merci beaucoup
A voir également:

8 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 janv. 2009 à 11:44
sinon à l'arrache:

$array_date_sql=explode(" ",$donnees['date']);
$array_date=explode("-",$array_date_sql[0]);
$array_heure=explode(":",$array_date_sql[1]);

echo $array_date[2]."/".$array_date[1]."/".$array_date[0]." &agrave; ".$array_heure[0].":".$array_heure[1];
1
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 janv. 2009 à 18:04
$array_date_sql=explode("/",$donnees['timestamp'])); //transfo date aaaa/mm/jj en un array
//affichage au format français
echo $array_date_sql[2]."/".$array_date_sql[1]."/".$array_date_sql[0];

//modifie si tu n'as pas le format aaaa/mm/jj dans ta base
0
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16
5 janv. 2009 à 08:09
Bonjour,

je vais de rajouter les lignes que tu m'as conseillées mais j'obtiens toujours la date au format aaaa/mm/jj.
Je précise que la date dans ma base est au format timestamp.

Merci encore
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 janv. 2009 à 09:22
au format timestamp c'est à dire que si tu regarde dans le champ date tu as un nombre correspondant au timestamp

donc

si tu fais:

echo "Timestamp de la base: ".$donnees['timestamp'];//tu devrais avoir ce nombre

echo date("d/m/Y H:i',$donnees['timestamp']);//si c'est le cas tu auras la date


es tu sur que le champ qui contient ta date s'appele bien 'timestamp' ?

et si oui, le nom n'est pas très bien choisi, il faut éviter le noms réservés et j'ai peur que celui la en soit un.
0
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
5 janv. 2009 à 10:58
j'ai changé le nom de mon champ en "date" (en espérant qu'il ne soit pas réservé).

Si je met :

echo date('d/m/Y H:i',$donnees['date']); // j'obtiens 01/01/1970 01:33

Mais si je met :

echo date($donnees['date']); //j'obtiens 2009/01/04 17:09 (heure de mon entrée dans la base)

C'est sur ce problème que je suis depuis hier Oo
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010
5 janv. 2009 à 11:02
et pour tester si tu fais seulement:

echo "Date lue dans base: ".$donnees['date'];

ça ecrit quoi ?
0
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16
5 janv. 2009 à 11:05
ça me met :

Date lue dans base: 2009-01-04 17:09:04
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 janv. 2009 à 11:29
Donc tu n'est pas en timestamp

dans ta base de données si tu regardes par phpMyAdmin le type du champ date

c'est DATETIME ou TIMESTAMP ?
0

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

Posez votre question
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16
5 janv. 2009 à 11:33
Le type du champ date est bien timestamp.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 janv. 2009 à 11:36
Tu as raison, j'ai fait l'essai même en type timesatmp dans la table ça enregistre 2009/01/05 etc..

alors essayes

echo date('d/m/Y h:i',mktime($donnees['date']));
0
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16
5 janv. 2009 à 11:39
je sais pas si je dois rire ou pleurer.

J'obtiens avec des données entrées aujourd'hui :

29/03/2009 05:38
0
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16
5 janv. 2009 à 11:50
Merci

ça m'affiche enfin la date d'aujourd'hui en format français.

Merci encore
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
5 janv. 2009 à 11:51
C'est quelle solution que tu as utilisée ?
0
taikanne Messages postés 19 Date d'inscription vendredi 19 décembre 2008 Statut Membre Dernière intervention 1 février 2010 16
5 janv. 2009 à 11:53
j'ai utilisé ta dernière proposition :

$array_date_sql=explode(" ",$donnees['date']);
$array_date=explode("-",$array_date_sql[0]);
$array_heure=explode(":",$array_date_sql[1]);

echo $array_date[2]."/".$array_date[1]."/".$array_date[0]." à ".$array_heure[0].":".$array_heure[1];
0