时间:2021-07-01 10:21:17 帮助过:4人阅读
/**
* 生成从开始月份到结束月份的月份数组
* @param int $start 开始时间戳
* @param int $end 结束时间戳
*/
function monthList($start,$end){
if(!is_numeric($start)||!is_numeric($end)||($end<=$start)) return '';
$start=date('Y-m',$start);
$end=date('Y-m',$end);
//转为时间戳
$start=strtotime($start.'-01');
$end=strtotime($end.'-01');
$i=0;//http://www.scutephp.com/
$d=array();
while($start<=$end){
//这里累加每个月的的总秒数 计算公式:上一月1号的时间戳秒数减去当前月的时间戳秒数
$d[$i]=trim(date('Y-m',$start),' ');
$start+=strtotime('+1 month',$start)-$start;
$i++;
}
return $d;}
例如:
echo '';print_r(monthList(1395283229,1398960000));结果将得到如下:
Array
(
[0] => 2014-03
[1] => 2014-04
[2] => 2014-05
)