在 PHP 中增加 2 个月


Adding 2 months in PHP

我以前见过关于在现有日期上增加两个月的问题,但是现有的答案对我没有多大帮助,因为我得到的结果与我想要的结果不同。我已设置如下日期:

$date = "2014-12-31";
$date = date('Y-m-d', strtotime("$date +2 month"));

添加 2 个月后,我打印它:

echo $date;

我的结果:

2015年03月03日

但这对我来说是不对的,因为这超出了我实际想要的整整一个月:

2015年02月28

我该怎么做?

我会使用PHP的DateTime类。

$date = new DateTime('2014-12-31');
$date->modify('+2 month');
$date->format('Y-m-d');
echo $date;

这也取决于您对 2 个月的预期,这可能会根据当月有多少天而有所不同。你是30天,31天,每月的最后一天,每月的第一天吗?...等。

也许你正在寻找这个,

$date = new DateTime('2014-12-31');
$date->modify('last day of +2 month');
$date->format('Y-m-d');
echo $date;

这也可能对您有所帮助。相对格式

您可以使用

DateTime类并修改方法参数,例如last day of second month

$date = new DateTime('2014-12-31');
$date->modify('last day of second month');
echo $date->format('Y-m-d');

编辑::

modify可以有多个可能的参数

2个月的最后一天

+2 个月的最后一天