如何从当前月/年开始连续获取月/年的列表。即2017年1月,2017年2月,2017年3月,2017年4月等。列表可以是任何长度(jan到oct,jan到dec等)。
P.S。没有开始和结束日期范围。
答案 0 :(得分:1)
您可以通过传递长度来创建一个生成此列表的函数。以下是可能对您有帮助的示例代码。
在这个例子中,1 = jan,12 = dec
$list = getList(01,02);
print_r($list);
function getList($from,$to)
{
$res = array();
for($i=$from;$i<=$to;$i++)
{
$res[] = date('M Y',strtotime('2017'.'-'.$i));
}
return $res;
}
答案 1 :(得分:1)
这是一种可能的解决方案,使用间隔:
function getList($n) {
$now=new DateTime();
$myDate=new DateTime($now->format('Y-m-1'));
$interval=new DateInterval('P1M');
$result=[];
for ($i=0; $i<$n; ++$i) {
$result[]=$myDate->format('M Y');
$myDate->add($interval);
}
return $result;
}
它创建一个指向当前月份第一天的日期,并在每个周期后向其添加一个月。