Modifier format date

julien -  
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un leger soucis au niveau du format de la dâte dans ma base de donnée, en effet lorsque je la rentre dans le formulaire elle est au format dd/mm/aaaa mais lorsque je fais un SELECT sur ma bdd il me la renvoit sous cette forme: Jan 1 2005 12:00AM

A savoir dans ma bdd ce champ date est au format datetime je ne sais pas si ça joue.

Si vous savez comment faire pour qu'il me la ressorte au même format que je la rentre dans la bdd.

Merci
A voir également:

9 réponses

moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Hello,
Je peux avoir la version texte de ta base sinon juste la ligne du CREATE qui concerne la Date ?
S'agissant des dates, j'ai une meilleure solution à te proposer. Lorsque tu fais un INSERT, tu indiques à ton champ Date de type TIMESTAMP de prendre la valeur par défaut (CURRENT TIMESTAMP). Ainsi à chaque INSERT tu n'as plus besoin de générer la date pui de l'inséer. Et lors du SELECT tu pourras formater ta date comme tu veux en la découpant comme par exemple $Jour = substr($DelSeparatorNormalDate,0,2);

Qu'en dis-tu ?
0
julien
 
Ca peut être utile pour la dâte du jour seulement j'ai besoin d'autre dâte telle que la dâte de naissance, donc lors de l'affichage en mettant un substr il ne va pas la sortir au format dd/mm/aaaa mais Jan 1 2005, non? D'autant plus que le nombre de caractere peu varier selon le jour: 1 ou 2 caractères.

Je l'ai créé en click click ma base, et j'ai vérifié je n'ai que le format datetime, alors que je pense que le format date aurait permis de ressortir la dâte telle que je souhaite.

Merci
0
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Salut Ju,
Ah tu as raison, ton cas de figure necessite une autre action.
En fait je viens de tester, il faut rentrer la date comme aaaa-mm-jj. Après quand tu veux l'extraire comme je t'ai montré
$Jour = substr($Date,0,2);
$Mois = substr($Date,2,2);
$Annee = substr($Date,4,4);

$Date = $Jour."/".$Mois."/".$Annee

Sinon tu peux faire ça aussi par requete (mysql) SELECT CONCAT(DAY( `ST_VilleCreated`) , '/', MONTH( `ST_VilleCreated` ) , '/',YEAR( `ST_VilleCreated` ) ) AS DateNaissance FROM Tab
Cela te donne JJ/MM/AAAA

Qu'en penses tu ?
0
julien
 
J'ai un peu de mal à comprendre mais dans l'idée ça me parait bien.

En fait j'ai un:
$dtnaissance = date ( "d / m / Y", mktime (0,0,0,$_POST['mois'],$_POST['jour'],$_POST['annee']));
INSERT INTO mytable (dtnaissance) VALUES $dtnaissance

Donc pour la ressortir je dois faire ça?

sql_query ("SELECT CONCAT (DAY( `dtnaissance`) , '/', MONTH( `dtnaissance` ) , '/',YEAR( `dtnaissance` ) ) FROM mytable");

Car ça me renvoi bon nombre d'erreurs.
Merci pour ton aide
0

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

Posez votre question
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Si tu as compris ma logique c'est cool par contre à quoi te sert : mktime (0,0,0,$_POST['mois'],$_POST['jour'],$_POST['annee']) ?
Tu peux faire ça sql_query ("SELECT CONCAT (DAY( `dtnaissance`) , '/', MONTH( `dtnaissance` ) , '/',YEAR( `dtnaissance` ) ) FROM mytable"); tant que dtnaissance est de type date ou assimilé.

J'espère que cela t'aura aidé.
0
julien
 
le mktime c'etait pour te montrer comment je l'insere dans la bdd.

En faisant le SELECT CONCAT j'ai cette erreur:

Warning: message: 'CONCAT' n'est pas une option nom de fonction intégrée reconnue.
0
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Bjr Julien
Passe moi la requete que tu fais au complet ?
Je l'ai testé chez moi avant de la faire suivre.
SELECT CONCAT va assembler tous les champs de base de données énoncé entre les ()... séparés par les virgules.
J'attends a++
0
Julien
 
$dt =("SELECT CONCAT(DAY( 'dtNaissance') , '/' ,
MONTH( 'dtNaissance' ) , '/',YEAR( 'dtNaissance' ) ) FROM myTable");
mssql_query($dt);

Sinon j'ai trouvé ceci (chapitre 10) où on pourrait modifier le format à l'entrée ou au SELECT de la dâte, mais je ne suis pas parvenu a le faire fonctionner d'autant plus que j'ai plusieurs dâte à modifier le format de sortie:
http://baptiste-wicht.developpez.com/tutoriel/ms-sql/datetime/

Merci encore!
0
moderno31 Messages postés 872 Date d'inscription   Statut Membre Dernière intervention   92
 
Hello,
Je vois que tu mets mssql_query($dt);
la fonction est mysql_query().
Cette notation te fait gagner une ligne
$dt_sql =mysql_query("SELECT CONCAT(DAY(`dtNaissance`) , '/' ,
MONTH(`dtNaissance`) , '/',YEAR(`dtNaissance`) ) FROM myTable");

Nb : je préfère utiliser le délimiteur de champs de mysql cela fait plus propre. Attention c'est une suggession. Je ne dit pas du tout que ta façon de faire est pas bonne. lol


Le lien que tu m'a passé traite de SQL SERVER. Il y a de grosses différences entre les 2. Donc je pense que ça ne s'applique pas en l'état.

Dit moi si cela t'aide à résoudre le problème. Sinon rappelle moi stp ce qui reste non résolu.
0