示例
假如当前日期: 2019-08-31
在 当前日期加上 99 个月之后的那个月的 31号,如果那月没有31 就获取那月的最后一天
代码实现
function getNextMonthDays($date,$months){
$first_day = date('Y-m-01', strtotime($date));
$months ++;
$next_last_day = strtotime("$first_day +$months month -1 day");
$day_last_day = date('d', $next_last_day);
$day_ben_last_day = date('t', strtotime($first_day));
$same_day = date('d', strtotime($date));
if($same_day == $day_ben_last_day && $same_day >= $day_last_day){
$day = $day_last_day;
}else{
$day = $same_day;
}
$day = date('Y',$next_last_day).'-'.date('m',$next_last_day).'-'.$day;
return $day;
}
测试
echo getNextMonthDays('2019-02-28',1);
echo getNextMonthDays('2019-01-31',1);