Page 1 sur 1

format date fr en us

Posté : 09 juin 2010, 17:28
par tycoons
bonjour à tous,

je sais il y à beaucoup de chose a se sujet sur la toile mais mon code fonctionne pas
j ai une table comme sa:
id,nom,prenom,ville,email, madate toute les entrée son en varchar dans ma table sauf id qui est init et madate en date
voila le tous est alimenter par un formulaire le format de date est comme suis dans mon formulaire jj/dd/aaaa toutes les données s enregistre bien sauf la date qui affiche toujours 0000-00-00
j ai tester sa

Code : Tout sélectionner

$champsDate = explode("/", $madate); if (!checkdate($champsDate[1], $champsDate[0], $champsDate[2])) {
mais sa marche pas

Re: format date fr en us

Posté : 09 juin 2010, 17:35
par stealth35
lorsque que tu insert ta date dans ta base tu va devoir faire par exemple :
STR_TO_DATE('12/05/2010', '%d/%m/%Y')
et lors de ta requete pour alle la chercher
DATE_FORMAT(champs_date, '%d/%m/%Y') AS champs_date

Re: format date fr en us

Posté : 09 juin 2010, 17:40
par AoSiX
 $champsDate =  explode("/", $madate);
Et si tu fais un print_r de $champsDate ?

Re: format date fr en us

Posté : 09 juin 2010, 17:49
par visualight
Salut,

Je fais l'intrus pour poster du code que j'ai fait il y a de cela quelques temps.
Ca pourrait t'aider ...
// Fonction pour changer la date US vers FR
function datefr($date) { 
$split = split("-",$date); 
$annee = $split[0]; 
$mois = $split[1]; 
$jour = $split[2]; 
return "$jour"."-"."$mois"."-"."$annee"; 
}
 
// Fonction pour changer la date FR vers US
function dateus($date) { 
$split = split("-",$date); 
$annee = $split[2]; 
$mois = $split[1]; 
$jour = $split[0]; 
return "$annee"."-"."$mois"."-"."$jour"; 
} 
 
// On défini les dates => Elles peuvent provenir de la DB par exemple
$date1="2009-09-10";
$date2="21-01-2009";
 
// On transforme les dates
$dateFR=datefr($date1);
$dateUS=dateus($date2);
 
// On affiche les dates
echo $dateFR."<br />";
echo $dateUS;
;)

Re: format date fr en us

Posté : 09 juin 2010, 17:56
par stealth35
vous vous embetez avec vos explode
// fr -> us
echo date('Y-m-d', strtotime('12/05/2010'));
// us -> fr
echo date('d/m/Y', strtotime('2010-05-12'));

Re: format date fr en us

Posté : 09 juin 2010, 22:05
par tycoons
lorsque que tu insert ta date dans ta base tu va devoir faire par exemple :
STR_TO_DATE('12/05/2010', '%d/%m/%Y')
et lors de ta requete pour alle la chercher
DATE_FORMAT(champs_date, '%d/%m/%Y') AS champs_date
merci de ta réponse ma comment mettre en forme la requete c' sa que je comprend pas j avais essayer
$requete = "INSERT INTO xxx (id,nom,prenom,madate,email,ville) VALUES ('','$nom','$prenom','$madate','$email','$ville')";
si je met
STR_TO_DATE('12/05/2010', '%d/%m/%Y')
comment tu recupere 12/05/2010 de ton exepemple avec $madate?

Re: format date fr en us

Posté : 10 juin 2010, 00:25
par stealth35
suffis de remplacer
$requete = "INSERT INTO xxx (id,nom,prenom,madate,email,ville) VALUES ('','$nom','$prenom',STR_TO_DATE('$madate', '%d/%m/%Y'),'$email','$ville')";

Re: format date fr en us

Posté : 10 juin 2010, 09:15
par tycoons
nickel merci beaucoup la sa marche super =D>