function nextDay($date,$month){ //1获取今天的时间 $date 时间 $date_day 今天的日期 $date_day =date('d', strtotime($date)); //2获取N月后的时间 $lastday = strtotime("$date +$month months"); $last_day =date('d',$lastday); $day_benlastday = date('Y-m-d', $lastday); $day_t=date('Y-m-t',strtotime("$day_benlastday -1 month")); $day_benlast_day= date('t',strtotime($day_t)); //获取当天日期 $Same_day = date('d', strtotime($date)); //判断N月后的天数是否比当前时间小 if($day_benlastday<$Same_day &&$last_day!==$date_day){ $day = $day_benlast_day; $day = date('Y',$lastday).'-'.date('m',strtotime($day_t)).'-'.$day.' 23:59:59'; }else{ $day = $Same_day; $day = date('Y',$lastday).'-'.date('m',$lastday).'-'.$day.' 23:59:59'; } return $day; } echo nextDay('2020-01-30 05:05:05',1);