transformer une date JJ/MM/AAAA en AAAA-MM-JJ

transformer une date JJ/MM/AAAA en AAAA-MM-JJ - PHP - Programmation

Marsh Posté le 09-05-2006 à 15:36:23    

bonjour, suis novice en php,
je cherche à ecrire une fonction pour transformer une date JJ/MM/AAAA
en AAAA-MM-JJ (pour l'enregistrer dans un champ de type DATE dans une table mysql)

 

pouvez vous m'aidez, je dois utiler la fonction remplace ? explode ??
MERCI


---------------
"Nous sommes tous dans le caniveau, mais certains d'entre nous regardent les étoiles" Oscar Wild
Reply

Marsh Posté le 09-05-2006 à 15:36:23   

Reply

Marsh Posté le 09-05-2006 à 15:39:28    

$annee = substr($date, 6, 4);
 $mois = substr($date, 3, 2);
 $jour = substr($date, 0, 2);  
 $date = $annee . '-' . $mois . '-' . $jour;
 
et voilou !  :hello:


Message édité par Transistor le 09-05-2006 à 15:40:17
Reply

Marsh Posté le 09-05-2006 à 15:43:51    

ok merci, c'est sympa, mais j'ai champ date : et la date n'est pas forcément celle du jour (elle est choisit a partir d'un petit agenda)
 
je recupere donc dans un champ INPUT une date au format JJ/MM/AAAA
et je voudrais transformer cette variable à partir d'une fonction
en AAA-MM-JJ
 
voila, en tout cas merci transistor pour ta réactivé. ;-)


---------------
"Nous sommes tous dans le caniveau, mais certains d'entre nous regardent les étoiles" Oscar Wild
Reply

Marsh Posté le 09-05-2006 à 15:46:19    

je vois pas le problème ??? dans l'exemple j'ai pas dit que $date était la date du jour !
tu récupère ta date qui doit être formatée JJ/MM/AAAA vu que tu la récupère d'un assistant calendrier...
$date = $_POST['date'];

Reply

Marsh Posté le 09-05-2006 à 15:48:34    

list($jour,$mois,$annee) = explode('/',$date);
$date = $annee.'-'.$mois.'-'.$jour;

Reply

Marsh Posté le 09-05-2006 à 15:55:59    

Merci benamoubeach, donc à partir de ta réponse :
 
 
J'ai un champ INPUT name="date_debutparution"
ma fonction donnerait cela alors ?
 
function date_format($date_debutparution){
    //separation de la date par / ou -
    list ($jours , $mois , $an) = split("[-./]",$date_debutparution);
    //inverse la date
    return($an."-".$mois."-".$jour);
}
 
c'est bien cela ?


Message édité par foxcssfox le 09-05-2006 à 15:56:39

---------------
"Nous sommes tous dans le caniveau, mais certains d'entre nous regardent les étoiles" Oscar Wild
Reply

Marsh Posté le 09-05-2006 à 16:05:57    

D'apres ce que j'ai lu sur ce site (http://www.siteduzero.com/), je pense qu'il est possible de le faire avec des regex !
Mais bon etant debutant aussi je ne peux guere t'aider ! Je pense que les solutions donnees precedement doivent fonctionner !

Reply

Marsh Posté le 09-05-2006 à 16:36:47    

la regex qui va bien( à utiliser avec preg):

/(\d{2})\/(\d{2})\/(\d{4})/$3-$2-$1/


 
Mais dans ce cas précis c'est vraiment sans interet

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed