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);