Ces réponses ne sont pas tout ce que je veux:Obtenir une liste des derniers jours des dates de mois en PHP
Getting last month's date in php How to find the last day of the month from date?
je le code suivant qui est destiné à imprimer une boite de sélection avec tout le dernier jour des dates de mois à partir d'une date donnée:
$last_case_date = $this->query_end_date();
$increm_date = "2011-06-01";
echo '<select name = "end_interval">';
$increm_date = date('Y-m-d', strtotime("$increm_date"));
while($increm_date <= $last_case_date) {
// next date is $increm_date + 1 month
$increm_date = date('Y-m-d', strtotime("$increm_date + 1 months"));
// then we want the last day of this new date
$month = substr($increm_date, 5, 2);
$year = substr($increm_date, 0, 4);
$increm_date = $this->last_day_of_month($month, $year);
echo '<option value = "'.$increm_date.'" selected = "selected"'.'>'.$increm_date.'</option>';
}
echo '</select>';
où last_day_of_month
est ceci:
function last_day_of_month($month = '', $year = '') {
if(empty($month)) {
$month = date('m');
}
if(empty($year)) {
$year = date('Y');
}
$result = strtotime("{$year}-{$month}-01");
$result = strtotime('-1 second', strtotime('+1 months', $result));
return date('Y-m-d', $result);
}
que j'emprunté à here.
Chose étrange qui arrive est que je reçois ces dates:
2011-07-31 2011-08-31 2011-10-31
mais pas 2011-09-30
! Il a probablement quelque chose à voir avec Septembre ayant seulement 30 jours ou quelque chose de bien?
Quelqu'un peut-il repérer le problème? Je l'ai regardé pendant des siècles .... Merci :).