FONCTION DE CALCUL DE JOURS FÉRIÉS

cs_jeca 341 Messages postés mercredi 17 juillet 2002Date d'inscription 14 juillet 2011 Dernière intervention - 29 juin 2005 à 11:38 - Dernière réponse :  Trenyture
- 14 févr. 2018 à 12:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

http://codes-sources.commentcamarche.net/source/32388-fonction-de-calcul-de-jours-feries

Afficher la suite 
nagrom_om 163 Messages postés lundi 20 décembre 2004Date d'inscription 1 novembre 2006 Dernière intervention - 30 juin 2005 à 16:36
Merci pour vos remarques. J'ai encore un probleme. En fait je pense que ca vient des années bisextiles.

$nbJour = ($timestamp_retour-$timestamp_depart/(60*60*24);
$nbJourOuvrable = $nbJour - jour_ferie($timestamp_depart,$timestamp_retour);

J ai utilisé un floor pour arrondir mais le probleme c'est que sur une difference de plusieurs années la fonctions zappe des jours.

De plus je crois que la fonction deconne également sur le passage d'un mois à l'autre il y a des erreurs de calcul.
nagrom_om 163 Messages postés lundi 20 décembre 2004Date d'inscription 1 novembre 2006 Dernière intervention - 30 juin 2005 à 16:42
Genre du 31/07/2005 au 01/08/2005 je trouve 0 jours ouvrables. Alors que je devrais en avoir 2 ... Alors que du 01/06/2005 au 02/06/2005 j ai bien 2 jours ouvrables.

Si qq1 a une idée je le remercie d'avance
sensoide 102 Messages postés mardi 17 janvier 2006Date d'inscription 1 août 2007 Dernière intervention - 21 juil. 2006 à 13:30
Au faite sur ce code il y a comme qui dirait un gros bug!!
Par ce que si l'un des jours fériés de l'année tombe un samedi ou un dimanche, bah il sera compté deux fois. Ce qui forcement va fausser le résultat final.

Me trompes-je? J'attends vos réponse et un correctif si possible.
Merci
ahmedshaiek 2 Messages postés samedi 13 juin 2009Date d'inscription 30 juin 2011 Dernière intervention - 30 juin 2011 à 12:26
vous pouvez m aider comment je peut calculer combien de jour fériée qui vienne successive parais une date de fin pour savoir la prochaine de retour o travaille tenir conte des weekend sachant quel le week-end seulement le dimanche samedi et un jour de travaille
ex si en ai le 02/07/2011 sachant que le 03/07/20011 et un dimanche 04/07/2011 et 05/07/2011 sont des jour fériée alors le résulta sa sera 3 jour de repos
merci de votre aide
Je suis tombé sur ta fonction qui est pas mal, mais je voulais partagé la mienne. Je devais calculer les jours fériés fixes et non fixes depuis 2008 jusqu'à l'année actuelle ... voici donc ma fonction :
/*Retourne tous les jours fériés fixes et non fixes depuis 2000 jusqu'à l'année en cours (paques, ascension et pentecote) sous forme d'array*/
private function getHolidays(){
 /*Jours fériés fixes*/
 $holidayDays = ['*-01-01', '*-05-01', '*-05-08', '*-07-14', '*-08-15', '*-11-01', '*-11-11', '*-12-25'];
 /*Depuis 2008 jusqu'a l'année en cours*/
 for ($i=2008; $i <= intval(date('Y')); $i++) { 
  //Calcul du lundi de pâques
  $paques = date('Y-m-d', strtotime(date('Y-m-d', easter_date($i)).'+1days'));
  //Calcul du jeudi de l'ascension (38 jours après paques)
  $ascension = date('Y-m-d', strtotime($paques.'+38days'));
  //Calcul du lundi de pentecôte (11 jours après ascension)
  $pentecote = date('Y-m-d', strtotime($ascension.'+11days'));
  /* On pousse le tout dans le tableau*/
  array_push($holidayDays, $paques, $ascension, $pentecote);
 }
 /*On envoie le tableau*/
 return $holidayDays;
}
Commenter la réponse de cs_jeca

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.