首页 > 解决方案 > 如何在 PHP 的 DateTime 中说“下个月 15 日”?

问题描述

我想做的事:

直接通过 DateTime 方法(没有 mktime 特技 :))从某个月份获取某个日期,例如

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

但是不可能通过它的数字来设置一个固定的日期。有人可以帮忙吗?

编辑:我已将 DateTime 从本月更改为下个月,以使问题更加清晰。

标签: phpdatetime

解决方案


您可以使用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

推荐阅读