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
| <?php
function liste_mois($date_debut, $date_fin) {
$date_suite = array();
//on flingue les tirets des dates
list($jour1, $mois1, $annee1) = explode("-", $date_debut);
list($jour2, $mois2, $annee2) = explode("-", $date_fin);
//on récupère le nombre de mois entre les deux dates
$nombre_mois = (($annee2 - $annee1)*12 + ($mois2 - $mois1));
//on incrémente chaque mois depuis la date début jusquà la date fin
for($i = 0; $i < $nombre_mois; $i++){
$mois = ($mois1 + $i);
//comptage du nombre de jour dans le mois +$i
$jour = date("j", mktime(0, 0, 0, $mois+1, 0, $annee1));
//si le nombre de jour du mois +$i < au jour de la date fixée
if($jour < $jour1){
//on mets le dernier jour du mois +$i
$date = date('d-m-Y', (mktime(0, 0, 0, $mois, $jour, $annee1)));
}else{
//sinon on traite la meme date du mois +$i
$date = date('d-m-Y', (mktime(0, 0, 0, $mois, $jour1, $annee1)));
}
$date_suite[] = $date;
}
return $date_suite;
}
echo(liste_mois('31-12-2005','15-08-2006'));
?> |
Partager