Modifier format date
julien
-
moderno31 Messages postés 872 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Modifier format date
- Format epub - Guide
- Modifier dns - Guide
- Format factory - Télécharger - Conversion & Codecs
- Modifier liste déroulante excel - Guide
- Hp usb disk storage format tool - Télécharger - Stockage
9 réponses
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 ?
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 ?
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
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
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 ?
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 ?
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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é.
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é.
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.
En faisant le SELECT CONCAT j'ai cette erreur:
Warning: message: 'CONCAT' n'est pas une option nom de fonction intégrée reconnue.
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++
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++
$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!
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!
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.
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.