请问如何得到本月和前几月的月份,包括有跨年情况,以及得到本周及上几周的自然周的时间范围
比如 我现在是2010年3月4日,要得到前6个月的月份:2010-3、2010-2、2010-1、2009-12、2009-11、2009-10周的情况是 比如现在是2010年5月4日,本周时间范围是2010-5-2至2010-5-8、上周是2010-4-25至2010-5-1、上上周是2010-4-18至2010-4-24,以此类推。

解决方案 »

  1.   

    <?php
    $time = strtotime('2010-3-4');
    for ($i=0;$i<5;$i++){
    $time2 = strtotime('-'.$i.' month',$time);
    echo date('Y-m',$time2)."\n";
    }$time = strtotime('2010-5-4');
    for ($i=0;$i<5;$i++){
    $week_start = strtotime('-'.$i.' week -'.date('N',$time).' day',$time);
    $week_end = strtotime('-'.$i.' week +'.(7-date('N',$time)-1).' day',$time);
    echo date('Y-m-d',$week_start).' - '.date('Y-m-d',$week_end)."\n";
    }
    ?>