Как сказать «следующий месяц 15-й» в PHP DateTime? - PullRequest
0 голосов
/ 30 октября 2018

Что я хочу сделать:

Получение определенного дня из определенного месяца напрямую с помощью методов DateTime (без трюков mktime :)), например

$day = new DateTime('15th of next month');

но невозможно установить фиксированный день по его номеру. Кто-нибудь может помочь?

РЕДАКТИРОВАТЬ: я изменил DateTime с этого месяца на следующий месяц, чтобы сделать проблему более ясной.

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете использовать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...