类似实现博客中“按月归档”的链接功能比如起始时间是2007年5月份,现在是2007年7月份就要输出:
2007-07
2007-06
2007-05到了明年,比如2008年3月分,就要输出:
2008-03
2008-02
2008-01
2007-12
2007-11
2007-10
2007-09
2007-08
2007-07
2007-06
2007-05以此类推,请帮忙给出代码,谢谢!

解决方案 »

  1.   

    <?php
    $year=date('Y');
    for($i=2007;$i<=$year,$i++)
    {
       for($j=1;$j<=12;$j++)
       {
       echo $i;
       }
    }
    ?>
      

  2.   

    <?php
    $star_year = 2007;
    $star_month = 5;
    $year = date("Y",time());
    $month = date("m",time());
    if($year > $star_year)
    {
    for($i=1;$i<=($year-$star_year+1);$j=1,$i++)
    {
    $i+1<=($year-$star_year+1)?$m=12:$m=$star_month;
    for($j==""?$j=$star_month:$j=1;$j<=$m;$j++)
    {
    echo ($star_year+$i-1)."-".$j."<br>";
    }
    }
    }
    else
    {
    for($m=$star_month;$m<$month;$m++)
    {
    echo $star_year."-".$m."<br>";
    }
    }
    ?>
      

  3.   

    <?php
    $star_year = 2007;
    $star_month = 5;
    $year = date("Y",time());
    $month = date("m",time());
    if($year > $star_year)
    {
    for($i=1;$i<=($year-$star_year+1);$j=1,$i++)
    {
    $i+1<=($year-$star_year+1)?$m=12:$m=$month;
    for($j==""?$j=$star_month:$j=1;$j<=$m;$j++)
    {
    echo ($star_year+$i-1)."-".$j."<br>";
    }
    }
    }
    else
    {
    for($m=$star_month;$m<$month;$m++)
    {
    echo $star_year."-".$m."<br>";
    }
    }
    ?>
    刚才的一个变量错了.$m=$month不是$m=$star_month.
      

  4.   

    //注意参数形式必须为Y-m-d,而非Y-m
    ----------------------------------------------
    function getMonthList($startDay,$endDay)
    {
    $date  = $startDay;

    while( $timeStamp < strtotime($endDay) )
    {
    if($date == $startDay) echo substr($date,0,-3).'<br>';

    $date = date('Y-m-d',strtotime($date.' +1 month'));

    $timeStamp  = strtotime(date('Y-m-d',strtotime($date)));

    echo date('Y-m',$timeStamp).'<br>';
    }
    }getMonthList('2007-05-01','2008-03-01');
      

  5.   

    比如起始时间是2007年5月份,现在是2007年7月份就要输出:
    2007-07
    2007-06
    2007-05
    =============
    改改-----------------------------------------function getMonthList($startDay,$endDay )
    {
    $date  = $startDay;

    while( $timeStamp < strtotime(date('Y-m-01',strtotime($endDay))) )
    {
    if($date == $startDay) echo substr($date,0,-3).'<br>';

    $date = date('Y-m-d',strtotime($date.' +1 month'));

    $timeStamp  = strtotime(date('Y-m-d',strtotime($date)));

    echo date('Y-m',$timeStamp).'<br>';
    }
    }getMonthList('2007-05-01',date('Y-m-d'));
      

  6.   

    LZ可不是那样问的 ?是Y-M-D吗?这不是更简单吗?