【问题标题】:get php date in for loop在for循环中获取php日期
【发布时间】:2014-02-09 17:01:23
【问题描述】:

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

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

这显示 0 。

【问题讨论】:

  • 这个循环即使一次也不会工作 for($i=0;$i>4;++$i)
  • for 循环中的迭代次数是多少?
  • 错误..它反过来。 for($i=0;$i
  • 你想要的输出是什么?
  • 本月我需要将最近 3 个月显示为 2,1,12

标签: php date for-loop


【解决方案1】:
<?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);
    }
?>

通过这个循环试试这个你也可以得到月份

【讨论】:

    【解决方案2】:

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

    $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 的范围内。

    希望这就是你要找的。​​p>

    【讨论】:

      【解决方案3】:

      好的。我找到了解决方案:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-15
        • 2017-01-27
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多