我以前见过关于在现有日期上增加两个月的问题,但是现有的答案对我没有多大帮助,因为我得到的结果与我想要的结果不同。我已设置如下日期:
$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 个月的最后一天