Получить дату следующего 15-го и / или 30-го дня с помощью php?

Мне нужно получить даты предстоящих 15 и 30 следующих месяцев, как на текущую дату. (Если февраль находится в радиусе действия, он должен быть 28/29, конечно).

Могу ли я сделать это, используя mktime / strtotime или, возможно, используя другой метод?

Я получил это, но, конечно, это только для получения последнего дня этого и следующего месяца. Мне нужны будущие 15 и 30-е годы.

$cuota1 = date('tm-Y', strtotime('+15 days')); return $cuota1; $cuota2 = date('tm-Y', strtotime('+30 days')); return $cuota2; $cuota3 = date('tm-Y', strtotime('+45 days')); return $cuota3; 

Заранее спасибо.

Надеюсь, у меня есть идея, и может быть, это решение довольно длинное, но похоже, что это пуленепробиваемый:

 $numOfDays = date('t', $todayStamp); $base = strtotime('+'.$numOfDays.' days', strtotime(date('Ym-01', $todayStamp))); $day15 = date('Ym-15', $base); $day30 = date('Ym-'.min(date('t', $base), 30), $base); 

где $todayStamp обычно является значением time() , но для целей отладки это может быть strtotime() произвольной даты. Например, возьмем «трудный» случай следующего високосного года:

 $today = '2016-01-30'; $todayStamp = strtotime($today); $numOfDays = date('t', $todayStamp); $base = strtotime('+'.$numOfDays.' days', strtotime(date('Ym-01', $todayStamp))); $day15 = date('Ym-15', $base); $day30 = date('Ym-'.min(date('t', $base), 30), $base); var_dump($day15); var_dump($day30); 

Выход

 string(10) "2016-02-15" string(10) "2016-02-29" 

и для 2016-02-29 выход будет

 string(10) "2016-03-15" string(10) "2016-03-30" 

Возможно, немного грубо, но вы можете попробовать что-то подобное, хотя, конечно, это не подтверждает дату вообще:

 $m=date('m')+1; $y=date('Y'); $d=15; echo date( 'tm-Y', strtotime( "{$d}.{$m}.{$y}" ) ); # > outputs: 31-12-2015 $d=30; echo date( 'tm-Y', strtotime( "{$d}.{$m}.{$y}" ) ); # > outputs: 31-12-2015 
 $tstamp = strtotime('+1 month'); //add a month $m=date('m',$tstamp); //month value $y=date('Y'); //this year $date15 = date("Ymd", strtotime("$y-$m-"."15")); //15 th of next month $date31 = date("Ymt", strtotime("$y-$m-"."15")); //last date of next month 

Это даст вам последнюю дату следующего месяца.