Avec le code indiqué ci-dessous, les résultats sont (voir ci-dessous). Ma question est de savoir pourquoi, après le 2009/11/01, il est suivi par le 2009/11/30 et le 2009/12/30 au lieu du 2009/12/01. Du 2009/06/01 ~ 2009/11/01 il n'y a pas de problème.
sortie
2009/06/01
2009/07/01
2009/08/01
2009/09/01
2009/10/01
2009/11/01
2009/11/30
2009/12/30
mon code
<?php
$startdate = "2009/06/01";
$enddate = "2009/12/31";
$start = strtotime($startdate);
$end = strtotime($enddate);
$currentdate = $start;
while($currentdate < $end)
{
$cur_date = date('Y/m/d',$currentdate);
$month = date('m', $currentdate);
$year = date('Y', $currentdate);
$monthLength = daysOfMonth($month, $year);
$currentdate += $monthLength;
echo $cur_date . "<br />";
}
function daysOfMonth($month, $year)
{
return (86400 * date("t", strtotime($year."-".$month."-01")));
}
?>