在for循环中获取php日期

时间:2014-02-09 17:01:24

标签: php date for-loop

我需要创建一个循环月份数的for循环。 但它应该在for循环中扣除月值。当第1个月进入时它应该回到12。

for($i=0;$i>4;++$i){ echo $month = date('m') - $i; }

这显示0。

3 个答案:

答案 0 :(得分:0)

<?php
    $start = $month = strtotime('2013-02-01');
    $endmonth = strtotime('2014-01-01');
    while($month < $endmonth)
    {
         echo date('F Y', $month), PHP_EOL;
         echo "<br />";
         $month = strtotime("+1 month", $month);
    }
?>

通过此循环尝试此操作,您也可以获得月份

答案 1 :(得分:0)

这是计算所需输出的纯数学方法:

$startMonth = (int)date('m');

for($i=0; $i<30; $i++) {
    $echoMonth = $startMonth - $i;
    if ($echoMonth <= 0 ) {
            echo (12 + ($echoMonth % 12));
    } else {
            echo $echoMonth;
    }
    echo "\n";
}

%-Operator是模数函数,它将您减去的数字保持在0到11的范围内,这样您就可以将数字保持在1到12的范围内。

希望这就是你要找的东西。

答案 2 :(得分:0)

好。我找到了解决方案:

for($i=0;$i<4;++$i){  
    $new_month = date("m", mktime(0, 0, 0, date("m") - $i, 1, date("Y")));
}