用PHP添加2个月

时间:2014-12-31 03:46:22

标签: php date

我之前已经看到过将两个月添加到现有日期的问题,但是现有的答案对我没有多大帮助,因为我得到的结果与我想要的不同。我已按如下方式设置日期:

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

在我添加了2个月之后,我打印出来了:

echo $date;

我的结果:

  

2015年3月3日

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

  

2015年2月28日

我该怎么做?

2 个答案:

答案 0 :(得分:6)

我会使用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;

这也可以帮到你。 Relative Formats

答案 1 :(得分:4)

您可以使用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个月的最后一天