Bonjour tt le monde, j'ai une fonction PHP Cette fonction calcule la différence entre deux date en éliminant les jour ouvrier. voila mon code:
<?php
// Fonction permettant de compter le nombre de jours ouvrés entre deux dates
function get_nb_open_days($date_start, $date_stop) {
$arr_bank_holidays = array(); // Tableau des jours feriés
// On boucle dans le cas où l'année de départ serait différente de l'année d'arrivée
$diff_year = date('Y', $date_stop) - date('Y', $date_start);
for ($i = 0; $i <= $diff_year; $i++) {
$year = (int)date('Y', $date_start) + $i;
// Liste des jours feriés
$arr_bank_holidays[] = '1_1_'.$year; // Jour de l'an
$arr_bank_holidays[] = '1_5_'.$year; // Fete du travail
$arr_bank_holidays[] = '8_5_'.$year; // Victoire 1945
$arr_bank_holidays[] = '14_7_'.$year; // Fete nationale
$arr_bank_holidays[] = '15_8_'.$year; // Assomption
$arr_bank_holidays[] = '1_11_'.$year; // Toussaint
$arr_bank_holidays[] = '11_11_'.$year; // Armistice 1918
$arr_bank_holidays[] = '25_12_'.$year; // Noel
}
//print_r($arr_bank_holidays);
$nb_days_open = 0;
while ($date_start < $date_stop) {
// Si le jour suivant n'est ni un dimanche (0) ou un samedi (6), ni un jour férié, on incrémente les jours ouvrés
if (!in_array(date('w', $date_start), array(0, 6))
&& !in_array(date('j_n_'.date('Y', $date_start), $date_start), $arr_bank_holidays)) {
$nb_days_open++;
}
$date_start += 86400;
}
return $nb_days_open;
}
// Exemple : Du 11 au 15 juillet il n'y a qu'un jour ouvré (week-end + 1 jours férié)
$date_depart = strtotime('2017-12-22');
$date_fin = strtotime('2017-12-28');
$nb_jours_ouvres = get_nb_open_days($date_depart, $date_fin);
echo 'Il y a '.$nb_jours_ouvres.' jours ouvrés entre le '.date('d/m/Y', $date_depart).' et le '.date('d/m/Y', $date_fin);
?>
Mon problème ce que ma fonction a deux paramétrer et je veux appeler ma fonction dans un formulaire:
Si je devine (car on ne connait rien de ton projet, ni de comment ça doit fonctionner, vu que tu n'as rien dit), tu veux que ton champ en readonly affiche un nombre de jour calculé à partir de deux dates indiquées dans le formulaire, donc je réitère :
j'ai déjà explique que ma fonction affiche le nombre de jour a partir de date début et date fin en éliminant les jour férié.
le problème ce que je connais rien en JavaScript et j'ai pas le temps de l’étudie il faut que je finis mon projet.
- Edité par Igoussam il y a moins de 30s
Bonjour.
dans ce forum on ne donne rien tout près sinon sa servirait a rien car tu n'aurais pas a pris on est la pour aider.
même si tu as pas le temps se n'ai pas une excuse un langage sa saprend si tu fini ton projet et que tu te dit c'est moi qui les fait c'est génial mais moi je vais te dire oui mais esque tu sais comment ils fonctionne tu seras pas vraiment me l'expliquer vue que t'auras copier coller des bout de code dont tu n'en connais pas c'est action
- Edité par NicolasDreux 19 septembre 2017 à 20:04:22
Dire que la réponse se trouve sur ce même site, accessible avec un outil ayant demandé du temps à l'équipe de développement mais que personne n'utilise. C'est fou non ?
PS : heureusement que tu sais ce que fais ta fonction ...
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.