//第一种方法
//本月起至时间 $date[0]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),1,date('Y'))); $date[0]['end_time'] = date('Y-m-d H:i:s',time()); //往前一个月起至时间 $date[1]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-1,1,date('Y'))); $date[1]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-1,date('t',mktime(0,0,0,date('m')-1,1,date('Y'))),date('Y'))); //往前二个月起至时间 $date[2]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-2,1,date('Y'))); $date[2]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-2,date('t',mktime(0,0,0,date('m')-2,1,date('Y'))),date('Y'))); //往前三个月起至时间 $date[3]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-3,1,date('Y'))); $date[3]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-3,date('t',mktime(0,0,0,date('m')-3,1,date('Y'))),date('Y'))); //往前四个月起至时间 $date[4]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-4,1,date('Y'))); $date[4]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-4,date('t',mktime(0,0,0,date('m')-4,1,date('Y'))),date('Y'))); //往前五个月起至时间 $date[5]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-5,1,date('Y'))); $date[5]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-5,date('t',mktime(0,0,0,date('m')-5,1,date('Y'))),date('Y'))); //往前六个月起至时间 $date[6]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-6,1,date('Y'))); $date[6]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-6,date('t',mktime(0,0,0,date('m')-6,1,date('Y'))),date('Y')));
//第二种方法 //输出最近N个月起至时间 for($i=0;$i<6;$i++){ if($i==0){ $date[$i]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m'),1,date('Y'))); $date[$i]['end_time'] = date('Y-m-d H:i:s',time()); }else{ $date[$i]['start_time'] = date('Y-m-d H:i:s',mktime(0,0,0,date('m')-$i,1,date('Y'))); $date[$i]['end_time'] = date('Y-m-d H:i:s',mktime(23,59,59,date('m')-$i,date('t',mktime(0,0,0,date('m')-$i,1,date('Y'))),date('Y'))); } } var_dump($date);