$currentTime = time();
$cyear = floor(date("Y",$currentTime));
$cMonth = floor(date("m",$currentTime));
$dataArray = [];
for ($i=0;$i<12;$i++){
$array = [];
$nMonth = $cMonth-$i;
$cyear = $nMonth == 0 ? ($cyear-1) : $cyear;
if($nMonth == 0){
$nMonth = 12;
}
$num = 0;
if($nMonth < 0){
$nMonth = 12;
$num++;
$nMonth = $nMonth-$num;
}
$date = $cyear.'-'.$nMonth;
$firstday = date("Y-m-01",strtotime($date));
$lastday = date("Y-m-t",strtotime($date));
$array[$date]["first"] = $firstday;
$array[$date]["last"] = $lastday;
$dataArray[] = $array;
}
dump($dataArray);
输出结果
array(12) {
[0] => array(1) {
["2020-9"] => array(2) {
["first"] => string(10) "2020-09-01"
["last"] => string(10) "2020-09-30"
}
}
[1] => array(1) {
["2020-8"] => array(2) {
["first"] => string(10) "2020-08-01"
["last"] => string(10) "2020-08-31"
}
}
[2] => array(1) {
["2020-7"] => array(2) {
["first"] => string(10) "2020-07-01"
["last"] => string(10) "2020-07-31"
}
}
[3] => array(1) {
["2020-6"] => array(2) {
["first"] => string(10) "2020-06-01"
["last"] => string(10) "2020-06-30"
}
}
[4] => array(1) {
["2020-5"] => array(2) {
["first"] => string(10) "2020-05-01"
["last"] => string(10) "2020-05-31"
}
}
[5] => array(1) {
["2020-4"] => array(2) {
["first"] => string(10) "2020-04-01"
["last"] => string(10) "2020-04-30"
}
}
[6] => array(1) {
["2020-3"] => array(2) {
["first"] => string(10) "2020-03-01"
["last"] => string(10) "2020-03-31"
}
}
[7] => array(1) {
["2020-2"] => array(2) {
["first"] => string(10) "2020-02-01"
["last"] => string(10) "2020-02-29"
}
}
[8] => array(1) {
["2020-1"] => array(2) {
["first"] => string(10) "2020-01-01"
["last"] => string(10) "2020-01-31"
}
}
[9] => array(1) {
["2019-12"] => array(2) {
["first"] => string(10) "2019-12-01"
["last"] => string(10) "2019-12-31"
}
}
[10] => array(1) {
["2019-11"] => array(2) {
["first"] => string(10) "2019-11-01"
["last"] => string(10) "2019-11-30"
}
}
[11] => array(1) {
["2019-11"] => array(2) {
["first"] => string(10) "2019-11-01"
["last"] => string(10) "2019-11-30"
}
}
}