Вы можете использовать DateTime::createFromFormat()
. Если вы передадите только значение day
, по умолчанию будет отображаться текущий месяц и год.
$date = DateTime::createFromFormat('d', '15');
echo $date->format('Y-m-d'); // 2018-10-15
Изменить для нового вопроса:
$date = DateTime::createFromFormat('d', 15)->add(new DateInterval('P1M'));
echo $date->format('Y-m-d'); // 2018-11-15