Page 1 sur 1

fonction explode() et date

Posté : 22 janv. 2011, 21:06
par n1cklas06
Bonjour tout le monde,

tout d'abord, j'espère que le sujet posté correspond parfaitement à ma demande.

voilà mon problème :

j'ai un formulaire qui poste dans une autre page une date au format suivant :
22/1/2011

et je souhaiterais que cette date s'affiche de la façon suivante:
22/JANVIER/2011

j'imaginais donc procéder de cette manière:
dans un premier temps je scinde en trois la date, puis dans un deuxième temps je convertie le chiffre 1 en lettre (ici : JANVIER).


j'imaginais pour cela utiliser la fonction explode() pour séparer une chaîne en plusieurs parties et un tableau pour convertir le 1 en JANVIER,le 2 en FEVRIER etc... mais je ne m'en sort vraiment pas.

Auriez-vous une solution allant dans ce sens ou bien dites moi si c'est une mauvaise piste.


merci encore pour votre aide et à très vite

Nicolas

Re: fonction explode() et date

Posté : 22 janv. 2011, 23:05
par moogli
Salut

$tab = explode('/', $variabledate);
switch($tab[1]){
case '1' : $tab[1] = 'janvier'; break;
//etc
Default : break;
}

Par exemple

@+

Re: fonction explode() et date

Posté : 22 janv. 2011, 23:20
par n1cklas06
Re bonjour tout le monde,

je vais essayer d'approfondir ma question par un exemple :
$date = $_POST['date'];
$dateScind = explode("/", $date);

$jour = $dateScind[0];
$mois = $dateScind[1];
$annee = $dateScind[2];




$mois = array ('1' => 'JANVIER','2' => 'FEVRIER','3' => 'MARS','4' => 'AVRIL','5' => 'MAI','6' => 'JUIN','7' => 'JUILLET','8' => 'AOUT','9' => 'SEPTEMBRE','10' => 'OCTOBRE','11' => 'NOVEMBRE','12' => 'DECEMBRE');

foreach($mois as $strMois)
{
    $var = $jour."/".$strMois."/".$annee; 
}

echo $var;
avec ce code si je poste 22/1/2011 alors s'affichera => 22/DECEMBRE/2011
Bon...deux points positifs: je réussis à scinder mon $_POST en trois et je remplace le mois "numérique" en chaine de caractères.
Maintenant (sans doute le plus simple) je n'arrive pas à varier le mois en fonction de ce que je poste. Ici DECEMBRE est affiché par défaut !!

merci pour votre aide et à très vite.

Re: fonction explode() et date

Posté : 22 janv. 2011, 23:26
par n1cklas06
Salut

$tab = explode('/', $variabledate);
switch($tab[1]){
case '1' : $tab[1] = 'janvier'; break;
//etc
Default : break;
}

Par exemple

@+

Bonsoir moogli,

j'écrivais mon précèdent message alors que tu me répondais...
je te remercie de t'être attardé sur mon cas, je vais étudier ça !!

Re: fonction explode() et date

Posté : 22 janv. 2011, 23:39
par moogli
Avec ton code tu peut faire :

$jour . $mois[ $datescind[1]] . $annee

Fait attention a tes noms de variable la tu ecrase lanvariable mois pour creer ton tableau.

Qui plus est ton code parcour le tableau mois maisnsans comparaison c'est pour cela que tu a toujours decembre.

L'avantage de ta solution est de permettre une traduction multilingue avec un tableau a deux dimensions.


@+

Re: fonction explode() et date

Posté : 23 janv. 2011, 00:21
par n1cklas06
Merci beaucoup à toi :)
$var =  $jour."/".$mois[$dateScind[1]]."/".$annee;
a+

Re: fonction explode() et date

Posté : 23 janv. 2011, 00:25
par moogli
De rien ;)

Re: fonction explode() et date

Posté : 23 janv. 2011, 00:46
par stealth35
pour les format de date c'est stototime, strptime ou date_create_from_format, pour les date en français c'est avec strftime, donc normalement pas besion de bidouille avec des explode et des array avec les texte en français...