Comment connaitre le jour d'une date

Comment connaitre le jour d'une date - PHP - Programmation

Marsh Posté le 26-04-2008 à 15:45:55    

Bonjour à tous,
 
je code un calendrier en php et je souhaiterai savoir comment actualiser l'affichage des jour.
 
je m'explique.
 
L'utilisateur a la possibilité de changer l'année et/ou le mois. Mais à l'heure actuelle, lorsque je change le mois, les dates des jours restent figées par rapport au mois en cours. Donc si aujourd'hui, samedi 26/04/2008, je décide de changer de mois pour aller au mois de mai, et bien le 26/05/2008 est lui aussi un samedi, ect...
 
Comment faire pour recalculer les dates en fonctions des jours lorsque ce n'est pas le mois en cours?
 
J'espère avoir été assez claire
 
N'hésitez pas à me demander des infos supplémentaires.
 
Merci par avance

Reply

Marsh Posté le 26-04-2008 à 15:45:55   

Reply

Marsh Posté le 26-04-2008 à 15:50:29    

date("w",strtotime("2008-04-26" ));

 


strtotime() transforme la date en un timestamp qui va être utilisé par date(). Le paramètre w donnera le jour au format numérique (la liste des paramètres est dans la doc : http://www.php.net/date - notamment le nombre de jours du mois est intéressant pour faire un calendrier, pour afficher la fin du mois précédent si le premier du mois ne tombe pas un lundi)


Message édité par art_dupond le 26-04-2008 à 15:52:03

---------------
oui oui
Reply

Marsh Posté le 26-04-2008 à 16:02:41    

merci de la réponse rapide art_dupond.
 
Mais ce n'est pas ce que je cherche.
 
En fait, pour un mois, ça affiche les jours (comme le calendrier windows) mais lorsque je change de mois les jours restent les mêmes, ce qui est faux!
 
Et je ne vois pas comment y remédier...

Reply

Marsh Posté le 26-04-2008 à 16:21:25    

Ok j'ai trouvé!
 
En fait, j'ai utilisé la fonction date() avec en paramètre "w" pour récupérer l'indice du jour puis j'ai récupéré via l'url le mois et l'année choisie ce qui donne :
 
$jour_num = date("w", mktime(0, 0, 0, $_GET['mois'], 01, $_GET['annee']))
 
Ensuite en faisant une condition (je déclare avant $case = 0)sur l'indice du jour différent de 1 alors on fait une boucle tant que $jour_num > 1 on laisse la cellule du calendrier vide. On décrémente $jour_num et on incrémente $case.
Ce qui donne :
$case = 0
 
if($jour_num != 1)
{
     while($jour_num > 1)
     {
          echo '<td>&nbsp</td>';
          $case ++;
          $jour_num --;
     }
}
 
En espérant que ça serve à d'autres.
 
merci encore à toi art_dupond.

Reply

Sujets relatifs:

Leave a Replay

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