Maison >développement back-end >tutoriel php >Comment déterminer le numéro de semaine d'un jour dans un mois en PHP ?
Comment déterminer le numéro de semaine d'un jour dans un mois en PHP
Déterminer le numéro de semaine d'un jour spécifique dans un mois peut être une tâche difficile. Cet article fournit une solution détaillée à ce problème en PHP, vous permettant d'identifier facilement le numéro de semaine pour une date donnée.
Solution :
La fonction PHP fournie, getWeeks(), calcule le nombre de semaines dans le mois pour une date spécifiée. Il prend deux paramètres :
La fonction fonctionne en extrayant d'abord l'année et le mois de la date et en calculant le nombre de jours entre la date spécifiée et le premier jour du mois. Il parcourt ensuite les jours du mois, vérifiant si chaque jour tombe le jour de basculement spécifié. Si tel est le cas, le nombre de semaines est incrémenté.
Exemple d'utilisation :
<?php /** * Returns the amount of weeks into the month a date is * @param $date a YYYY-MM-DD formatted date * @param $rollover The day on which the week rolls over */ function getWeeks($date, $rollover) { $cut = substr($date, 0, 8); $daylen = 86400; $timestamp = strtotime($date); $first = strtotime($cut . "00"); $elapsed = ($timestamp - $first) / $daylen; $weeks = 1; for ($i = 1; $i <= $elapsed; $i++) { $dayfind = $cut . (strlen($i) < 2 ? '0' . $i : $i); $daytimestamp = strtotime($dayfind); $day = strtolower(date("l", $daytimestamp)); if($day == strtolower($rollover)) $weeks ++; } return $weeks; } // echo getWeeks("2011-06-11", "sunday"); //outputs 2, for the second week of the month ?>
Explication :
L'exemple ci-dessus appelle la fonction getWeeks() avec la date "2011-06-11" et le jour de basculement "dimanche". Le résultat est 2, indiquant que le 11 juin 2011 tombe dans la deuxième semaine de juin pour un basculement dimanche.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!