[PHP] Convertir une chaine en date

Fermé
Nox - Modifié par Nox le 21/08/2011 à 22:53
 Nox - 23 août 2011 à 16:35
Salut à tous,

Voilà, après plusieurs jours de recherches et différents tests, je continue de buter sur une conversion chaine -> date ; alors soit j'ai trop de mal, soit... je sais pas, mais en tout cas j'ai besoin d'aide.

J'ai une valeur sortie d'un champ type DATE de ma base SQL, qui a pour format AAAA-MM-JJ, ou plutôt YYYY-MM-DD, le tout en valeurs numériques (soit 2011-06-14).
A partir de ça, j'aimerais afficher une date selon ce format jourenminuscules JJ.MM.AA (soit mardi 04.06.11).
Comme je vous l'ai dit, ça fait plusieurs jours que j'essaie différentes fonctions, et pas moyen d'obtenir le résultat voulu... Donc si quelqu'un a l'amabilité et la compétence de m'apporter une réponse, je lui en serais reconnaissant.

Merci d'avance.

5 réponses

Petit up :)
0
bonjour
je suppose que ta juste cherché ce forum pour poser ta question!

sinon tu peux vraiment des tonnes et des tonnes de doc sur la fonction date: tiens je te file ce lien http://fr.php.net/manual/fr/function.date.php

si par miracle tetai tombé sur ce site tu verai qu'avec ce bout de code tu aurai deja pu faire une premiere version du genre:
<?php
$date_mysql = "2011-06-14"; // par exemple
$d_aux = explode('-', $date_mysql); // $d_aux[0] : année, $d_aux[1]: mois, $d_aux[2] : jour ; avec ces valeur on va recalculer le timestamp pour pouvoir obtenir le jour genre mardi
$t = mktime(0,0,0, $d_aux[1],$d_aux[2], $d_aux[0]);
$jour_fr = array("dimanche", "mardi","mercredi","jeudi","vendredi","samedi","lundi");
echo $jour_fr[date('w',$t)]." ".$d_aux[2].'.'.$d_aux[1].'.'.$d_aux[0];
?>


je ne dis pas que ce parfait loin de la mais avec un debut comme ça je suis sure que tu trouvera pas mal de personnes succeptible de te venir en aide.

j'espere que tu va trouver une solution convenable
0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
23 août 2011 à 09:14
Bonjour,

En 3 lignes:


$date_mysql = '2011-08-23';
list($annee, $mois, $jour) = explode('-', $date_mysql);
echo $jour.'/'.$mois.'/'.$annee;


Sinon on peut aussi faire cette conversion au départ en SQL:

supposons que le champ date_depart soit notre date à extraire:

SELECT date_depart, DATE_FORMAT(date_depart,"%d/%m/%y") as xdate_depart FROM
...suite de la requête....

vous récupérez date_depart dans sa forme originale et dans sa forme modifiée dans xdate_depart => 23/08/11

Avec %y en %Y on récupère 23/08/2011

Ainsi, plus besoin de faire une méchante trituration PHP après coup...

A pluche
0
Titi La Fronde Messages postés 67 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 12 septembre 2011 3
23 août 2011 à 10:05
un legère préférence pour la requete en sql mais apres c'est au choix de chacun
0

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

Posez votre question
alphon5o, tu te trompes, j'ai bel et bien cherché depuis plusieurs jours, et je suis bien tombé sur le lien que tu me donnes - ce n'est pas un miracle - sauf que lorsqu'on débute dans la programmation, une doc ne sert à rien, elle donne des informations, mais ne sert pas de tutoriel. Je peux connaître des tas d'attributs et autres paramètres pour une fonction donnée, mais si je ne sais pas utiliser cette dernière je n'irai pas bien loin...
Cela dit, je te remercie pour ton aide, j'ai trouvé comment faire pour obtenir le résultat voulu, et c'est grâce à toi.
Néanmoins, évite les préjugés, je pense que ça peut éviter bien des problèmes dans la vie.

Merci aux autres pour vos réponses ;)
0