BenamourJr
Messages postés31Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention18 septembre 2010
-
5 sept. 2010 à 10:44
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 2012
-
6 sept. 2010 à 09:05
Bonjour,
Je fais face à un problème que j'ai du mal à comprendre, c'est pourquoi je viens vers vous en espérant que vous puissiez m'éclairer un peu.
Voici mon code (simplifié) qui vise à transformer au format lettre le numéro d'un mois :
<?php
$date_inscription = '15/09/2010';
$date_inscription_exploded = explode('/', $date_inscription);
echo $date_inscription_exploded[1];
switch ($date_inscription_exploded[1])
{
case 01:
$mois_inscription = ' janvier ';
break;
case 02:
$mois_inscription = ' février ';
break;
case 03:
$mois_inscription = ' mars ';
break;
case 04:
$mois_inscription = ' avril ';
break;
case 05:
$mois_inscription = ' mai ';
break;
case 06:
$mois_inscription = ' juin ';
break;
case 07:
$mois_inscription = ' juillet ';
break;
case 08:
$mois_inscription = ' août ';
break;
case 09:
$mois_inscription = ' septembre ';
break;
case 10:
$mois_inscription = ' octobre ';
break;
case 11:
$mois_inscription = ' novembre ';
break;
case 12:
$mois_inscription = ' décembre ';
}
echo $mois_inscription;
?>
Le code fonctionne parfaitement lorsque le mois est compris entre 01 et 07 ainsi qu'entre 10 et 12 (ce script m'affiche donc par exemple "03 mars" si la date est "15/03/1988") MAIS il ne m'affiche que "08" ou "09" lorsque date est par exemple 15/08/1988 ou 15/09/1988... impossible donc de retranscrire ces deux mois au format lettre... o.O
BenamourJr
Messages postés31Date d'inscriptionjeudi 25 mars 2010StatutMembreDernière intervention18 septembre 20101 5 sept. 2010 à 11:05
Problème résolu en supprimant le 0 devant le numéro du mois car apparemment un entier précédé d'un 0 est considéré en octal (base 8). Comme 8 et 9 n'existent pas en octal ces chiffres deviennent 0 dans le code.
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 5 sept. 2010 à 18:04
Mais bon, si tu joues en PHP5 avec DateTime et les variables pour définir ta langue cette traduction se fait en une ligne.. $madate->format('F');
et voila..
S.
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 6 sept. 2010 à 09:05
Ah oui, au temps pour moi, 'MA' classe DateTime est un héritage de l'originale..Je l'avais faite lors de la sortie de la 5.2.. on se fait plus tout jeune, et en plus je l'ai mise en plusieurs langues, d'ou l'héritage..
Merci de cette correction
S.