最简单的方法,显示当月和当年某月之后的月份数和年份

时间:2016-01-01 07:12:40

标签: php

我必须显示在特定月份和特定年份之后每个月有多少用户注册到当前月份和当前年份。

例如:如果我们从2015年第3个月获取数据。

所以输出结果如下:

03/2015
04/2015
05/2015
...
and so on upto
12/2015
01/2016
as currently 1st month of 2016 is running.

任何帮助??

以下是我尝试过的一些代码:

$c_month = date('m');
$c_year = date('Y');
$year_array = array("2015","2016","2017","2018","2019","2020","2021");



foreach($year_array as $y_a){
   for($i=1;$i<=12;$i++){
   if(($i == 1 || $i == 2) && $y_a == '2015'){
       continue;
   }
   if($i > $c_month && $y_a == $c_year){
   break 2;
 }
 $chnge_i = strlen($i);
                    if ($chnge_i == 1) {
                        $put_o = '0' . $i;
                    }
                    else{
                        $put_o = $i;
                    }
 echo $put_o.'/'.$y_a.'<br>';
}
}

它给出了正确的值,除非当前月份数是12并且我认为这不是最好的方法。

2 个答案:

答案 0 :(得分:2)

您可以使用strtotimedate来执行此操作。

$start=strtotime('2015-03-01');
while ($start <= time()){
    echo date('m/Y',$start) . "\n";
    $start=strtotime('+1 month', $start);
}

输出:

03/2015
04/2015
05/2015
06/2015
07/2015
08/2015
09/2015
10/2015
11/2015
12/2015
01/2016

注意:这只是其中一种方式。

重要提示:请记住设置时区(我更喜欢UTC)date_default_timezone_set

答案 1 :(得分:0)

你应该像下面那样做区别

delegate

希望这有帮助。