Bonjour,
Je cherche à mettre un place un compteur de solde de congé.
Ce que j'ai voulu faire :
- obtenir la différence de jours entre la date de début et la date de fin
obtenir le nom du jour d'une date précise
faire une boucle de la durée de la différence
vérifié les jours, et pour chaque jours ajouté une valeur défini au compteur
voici mon code :
J'ai différents problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php function obtenir_jour($ladate){ // fonction qui retourne le jour en fonction de la date $jour = date('D', strtotime($ladate)); return $jour; } function incrementer_compteur(){ // fonction qui va retourner en compteur en fonction des jour rentrés en paramètre $date_debut = new DateTime('2018-10-01'); $date_fin = new DateTime('2018-10-01'); $difference = $date_debut ->diff($date_fin); //obtenir la différence entre ces deux dates. $interval= $difference ->format('%R%a'); //avoir la difference en nombre de jours, mais avec un + devant qui me fais ***** for ($i=0; $i<=$interval; $i++){ if (obtenir_jour($date_debut + $i) == 'wed'){ // si la date correspond à vendredi $compteur +=2; } elseif (obtenir_jour($date_debut + $i) == 'sun') { //si la date correspond à dimanche //on fait rien } else { //pour tout les autres cas $compteur +=1; } } return $comteur; } ?>
1)Avec ce code, je n'arrive pas à mettre une variable, par contre si je met '2018-07-23' ça marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $jour = date('D', strtotime($ladate));
2)Pour avoir le format de la date, si laisse comme c'est, ça marche, mais j'ai un + au début... et si je met %d je n'ai pas de plus au début, mais il ne prend en compte la différence que entre les jours, il ne compte les mois. (2018-07-07 et 2018-08-08 la différence sera de 1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part $interval= $difference ->format('%R%a')
3)J'espère que ce sont mes deux seuls problèmes...
Si vous avez des idées, ça m'aiderai
Merci d'avance.
Partager