我之前已经看到过将两个月添加到现有日期的问题,但是现有的答案对我没有多大帮助,因为我得到的结果与我想要的不同。我已按如下方式设置日期:
$date = "2014-12-31";
$date = date('Y-m-d', strtotime("$date +2 month"));
在我添加了2个月之后,我打印出来了:
echo $date;
我的结果:
2015年3月3日
但这对我来说是不对的,因为这超出了我的实际需要的整整一个月:
2015年2月28日
我该怎么做?
答案 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个月的最后一天