Bonsoir ,
J'ai un souci dans un mini projet je veux calculer le nombre de jour entre deux dates sans compter les jours fériés ou bien les week-end comment je peux faire s'il vous plait .
Merci d'avance
Bonsoir ,
J'ai un souci dans un mini projet je veux calculer le nombre de jour entre deux dates sans compter les jours fériés ou bien les week-end comment je peux faire s'il vous plait .
Merci d'avance
Salut,
je ne sais pas si tu as utilisé le moteur de recherche mais j'avais codé ça : https://www.developpez.net/forums/bl...nee-specifies/
Salut,
joli travail , mais dans votre code il faut modifier les valeurs pour chaque année c'est ça ? y a pas moyen de le faire automatiquement ?
exemple : le weekend de la première semaine de 2019 c'est le 6 et le 7 par contre dans la première semaine de 2020 ça sera le 4 et le 5
Merci
mai non ça n'a rien à voir avec les dates du premier weekend de l'année, $weekdays_off indique le numéro des jours de la semaine non travaillés : le 6ème et le 7ème jour (samedi et dimanche)
bon voila ce que je cherche :
Je veux entrer les informations d'un dossier qui doit être déposer dans un établissement public (n'ouvre ni le weekend ni les jours fériés) .
J'ai deux date : date de sortie et date de dépôt .
Je veux calculer le nombre de jour qui reste (entre ces deux dates) pour le retour de ce dossier qui ne doit pas dépassé les 30 jours par exemple , ( selon le mois et l'année ).
Exemple : date de sortie le : 05/04/2019
date de dépôt le : 30/04/2019
Le nombre de jour devrait être 22 jours ( selon le mois et l'année ) .
Et si il y a un jour férié parmi ces 22 jours , il affichera 21 jours .
Est ce que votre code peut gérer ça ?
Merci
Je n'ai rien compris
Si tu déposes le dossier le vendredi 05/04/2019 (hypothèse : samedis et dimanches ignorés)
En jours jusqu'au 30/04/2019, tu as les semaines des lundis 8/15/22 avril soit 15 jours puis il te reste le lundi 29/04 et le mardi 30/04, ce qui donne 15 + 2 ⇒ 17 jours avec au milieu le lundi 22 avril 2019 (férié, lundi de Pâques) soit 16 jours ouvrés.
Quand bien même tu essaies de repartir jusqu'au dimanche 05/05/2019, soit +3 jours - 1 jour férié (le 1er mai) ⇒ 16 + 2 ⇒ 18 jours ouvrés (comment tu arrives à 22 jours ?)
Si tu te penches un peu sur mon bout de code, il te calcule ça sans effort de ta part, tu dois juste l'adapter un poil si tu veux borner sur des dates au lieu d'une année et d'un mois...
Et bien le délais max avant le dépôt et de 30 jours mais c'est pas forcement 30 jours je peux le déposer avant . je dois entrer deux dates une de dépôt et l'autre de retour .
Apres je lance une requête qui m'affiche une liste de tous les dossiers non déposer entre les deux dates par couleurs vert inférieur a 10 j , orange entre 11 j et 20 j et a la fin le rouge si supérieur a 21 ( c'est la qu'il me faut le calcule ) pour le suivi
Et si je clique sur déposé, le dossier n’apparaîtras plus sur la liste
par contre si vous avez une autre idée qui me seras utile, ou bien si vous pouvez m’éclairé un peu plus sur votre code , j'apprécierais votre aide .
merci
Je veux bien t'expliquer plus mon code mais je n'ai toujours pas compris tes explications sur le calcul des dates.
Les couleurs en fonction des jours pas de soucis par contre tu dois expliquer la logique entre les dates de sortie, dépôt, retour, limite.
bonjour
Donc voila je vous explique : l'objet est de contrôler la date de dépôt des dossiers.
j'ai pris des 3 dossiers d'un établissement public pour les traiter , je les saisies dans le mini programme .
après je dois consulter une liste de contrôle de ces dossiers qui m'afficherait les dossiers avec couleurs ( vert = date dépôt <= 10 jours , orange entre 11 jours et 20 jours , rouge >= 21 )
NB : un établissement public ne travail pas les week-end ni les jours féries donc il si il y'en a un parmi ces jours il ne doit pas le compter
pour cela j'ai réfléchit a deux possibilité :
1- prendre date de saisie du dossier ( sysdate +30 jours ) sans compter les week-end et les jours féries je ne sais pas vraiment comment faire .
2- entrer la date de retrait et la date de dépôt et calculer la différence entre eux .
exemple : date retrait = 08/04/2019 , date dépôt le 19/04/2019
normalement ça fait 12 jours ( le dossier dans la liste est en orange ) , mais il y a un week end qui ne doit pas être compter alors sans compter le week end c'est 10 jours (donc il doit afficher le dossier dans la liste en vert )
c'est ce qu'il me faut , mais je pense que la méthode du sysdate marcheras mieux en cas ou je ne connais pas la date de dépôt ou si je veux évité de sortir le calendrier a chaque fois que je veux saisir un dossier pas vrai !!
bon voila tout Merci d'avance
en gros, si j'ai bien tout compris tu voudrais que je te fournisse une solution clé en main ? C'est ça ? J'ai bon ?
J'aimerais bien..... mais si votre code me sera utile dans ce que je veux que vous me l'expliquiez d'avantage (s'il vous plait ).Par contre si vous connaissez une méthode pour en procéder j'aimerais bien que vous m'aidiez.
Sinon j'ai ce bout de code mais il calcule seulement le nbr jours avec les week et tout :/ .
voila tout et merci encore
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 $reponse=$bdd->query('SELECT id , date_retrait, date_depot, TIMESTAMPDIFF(DAY, date_retrait, date_depot) as nbJours from dossier'); echo '<table border=4 cellspacing=4 cellpadding=4 width=50%;"><tr><th>ID</th><th>date_retrait</th><th>date_depot</th><th>nbJours</th></tr>'; while($donnees = $reponse->fetch()){ if( $donnees['nbJours'] < 10){ echo '<tr bgcolor="green"><td>'.$donnees['id'].'</td><td>'.$donnees['description'].'</td><td>'.$donnees['client'].'</td><td>' .$donnees['date_retrait'].'</td><td>'.$donnees['date_depot'].'</td><td>'.$donnees['nbJours'].'</td></tr>'; } else if($donnees['nbJours'] >=11 and $donnees['nbJours'] <=20){ echo '<tr bgcolor="orange"><td>'.$donnees['id'].'</td><td>'.$donnees['description'].'</td><td>'.$donnees['client'].'</td><td>'. $donnees['date_retrait'].'</td><td>'.$donnees['date_depot'].'</td><td>'.$donnees['nbJours'].'</td></tr>'; } else{ echo '<tr bgcolor="red"><td>'.$donnees['id'].'</td><td>'.$donnees['description'].'</td><td>'.$donnees['client'].'</td><td>' .$donnees['date_retrait'].'</td><td>'.$donnees['date_depot'].'</td><td>'.$donnees['nbJours'].'</td></tr>'; } }
bonjour , Quelqu’un d'autre peut m'aider s'il vous plait ?!!
Partager