par
fcjuventus » 09 janv. 2008, 15:30
Bonjour,
J'ai une fonction dans mes pages qui permet d'afficher une date définie dans un calendrier. Par exemple, j'ai défini comme date dans ma base de donnée le 09/01/2008 et la fonction doit m'afficher Mercredi 9 janvier 2008.
Cette fonction marchait très bien avec les date de 2007, mais depuis le passage à 2008, la fonction affiche un jour de retard, dans ce cas-ci elle affiche Mardi 9 janvier, au lieu de mercredi.
Je ne sais cependant pas où se trouve l'erreur, quelqu'un pourrait-t-il m'aider, sachant que je n'ai pas envie que le problème soit inversé et que ce soit maintenant les jours de 2007 qui ne soient pas les bons. Voici la fonction, merci de m'aider svp
<?
function getday($jour, $mois, $annee){
$anne=$anne2+200;
if ($anne%4===0){
//pour les années bisextiles, on est obligé de prévoir deux tableaux
//si l'anée est bisextille
$day_per_month=array(31,29,31,30,31,30,31,31,30,31,30,31);
}else{
//si elle ne l'est pas
$day_per_month=array(31,28,31,30,31,30,31,31,30,31,30,31);
}
//Le nombre de jours de décalage entre les jours de la semaine en fonction du mois.
$mois_nombre=array(0,3,3,6,1,4,6,2,5,0,3,5);
return ($mois_nombre[$mois-1]+($anne-$anne%4)/4+$anne%7+1+$jour)%7;
}
function nom_jour($num){
switch($num)
{
case '0':
$nom_jour= "Lundi";
return $nom_jour;
break;
case '1':
$nom_jour= "Mardi";
return $nom_jour;
break;
case '2':
$nom_jour= "Mercredi";
return $nom_jour;
break;
case '3':
$nom_jour= "Jeudi";
return $nom_jour;
break;
case '4':
$nom_jour= "Vendredi";
return $nom_jour;
break;
case '5':
$nom_jour= "Samedi";
return $nom_jour;
break;
case '6':
$nom_jour= "Dimanche";
return $nom_jour;
break;
}
}function nom_mois($num)
{
switch($num)
{
case '1':
$mois= "Janvier";
break;
case '2':
$mois= "Fevrier";
break;
case '3':
$mois= "Mars";
break;
case '4':
$mois= "Avril";
break;
case '5':
$mois= "Mai";
break;
case '6':
$mois= "Juin";
break;
case '7':
$mois= "Juillet";
break;
case '8':
$mois= "Aout";
break;
case '9':
$mois= "Septembre";
break;
case '10':
$mois= "Octobre";
break;
case '11':
$mois= "Novembre";
break;
case '12':
$mois= "Décembre";
break;
echo $mois;
}
return $mois;
}
{
$match = $donnees3['id'] ;
$jour = substr($donnees3['date'],8,2);
$moi = substr($donnees3['date'],5,2);
$annee = substr($donnees3['date'],0,4);
$nom_j = getday($jour, $moi, $annee) ;
$moi = nom_mois($moi) ;
$nom_j = nom_jour($nom_j) ;
echo "<strong><font color=\"#CC6600\">$nom_j ".$jour." ".$moi." ".$annee." - ".$donnees3['heure'] ;
?>
Bonjour,
J'ai une fonction dans mes pages qui permet d'afficher une date définie dans un calendrier. Par exemple, j'ai défini comme date dans ma base de donnée le 09/01/2008 et la fonction doit m'afficher Mercredi 9 janvier 2008.
Cette fonction marchait très bien avec les date de 2007, mais depuis le passage à 2008, la fonction affiche un jour de retard, dans ce cas-ci elle affiche Mardi 9 janvier, au lieu de mercredi.
Je ne sais cependant pas où se trouve l'erreur, quelqu'un pourrait-t-il m'aider, sachant que je n'ai pas envie que le problème soit inversé et que ce soit maintenant les jours de 2007 qui ne soient pas les bons. Voici la fonction, merci de m'aider svp
[php]<?
function getday($jour, $mois, $annee){
$anne=$anne2+200;
if ($anne%4===0){
//pour les années bisextiles, on est obligé de prévoir deux tableaux
//si l'anée est bisextille
$day_per_month=array(31,29,31,30,31,30,31,31,30,31,30,31);
}else{
//si elle ne l'est pas
$day_per_month=array(31,28,31,30,31,30,31,31,30,31,30,31);
}
//Le nombre de jours de décalage entre les jours de la semaine en fonction du mois.
$mois_nombre=array(0,3,3,6,1,4,6,2,5,0,3,5);
return ($mois_nombre[$mois-1]+($anne-$anne%4)/4+$anne%7+1+$jour)%7;
}
function nom_jour($num){
switch($num)
{
case '0':
$nom_jour= "Lundi";
return $nom_jour;
break;
case '1':
$nom_jour= "Mardi";
return $nom_jour;
break;
case '2':
$nom_jour= "Mercredi";
return $nom_jour;
break;
case '3':
$nom_jour= "Jeudi";
return $nom_jour;
break;
case '4':
$nom_jour= "Vendredi";
return $nom_jour;
break;
case '5':
$nom_jour= "Samedi";
return $nom_jour;
break;
case '6':
$nom_jour= "Dimanche";
return $nom_jour;
break;
}
}function nom_mois($num)
{
switch($num)
{
case '1':
$mois= "Janvier";
break;
case '2':
$mois= "Fevrier";
break;
case '3':
$mois= "Mars";
break;
case '4':
$mois= "Avril";
break;
case '5':
$mois= "Mai";
break;
case '6':
$mois= "Juin";
break;
case '7':
$mois= "Juillet";
break;
case '8':
$mois= "Aout";
break;
case '9':
$mois= "Septembre";
break;
case '10':
$mois= "Octobre";
break;
case '11':
$mois= "Novembre";
break;
case '12':
$mois= "Décembre";
break;
echo $mois;
}
return $mois;
}
{
$match = $donnees3['id'] ;
$jour = substr($donnees3['date'],8,2);
$moi = substr($donnees3['date'],5,2);
$annee = substr($donnees3['date'],0,4);
$nom_j = getday($jour, $moi, $annee) ;
$moi = nom_mois($moi) ;
$nom_j = nom_jour($nom_j) ;
echo "<strong><font color=\"#CC6600\">$nom_j ".$jour." ".$moi." ".$annee." - ".$donnees3['heure'] ;
?>[/php]