php - 在 PHP 中增加 2 个月

标签 php date

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

$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;

这也可能对您有所帮助。 Relative Formats

关于php - 在 PHP 中增加 2 个月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27715872/

相关文章:

javascript - 改变一些字符串的格式

PHP 在 session 变量中传递数组

php - fatal error : Uncaught Error: Class 'Twig_Autoloader' not found

php - 函数中的 CodeIgniter "Using $this when not in object context"

java - 来自java的日期格式问题

来自 12 小时格式日期和时间字符串的 JavaScript 新日期

python - Python 日期和时间增量减法的惊人行为

PHP 下拉菜单查询另一个下拉菜单查询结果

php - 获取包含 PHP 脚本的文件名

php - 如何使用 DateTime 对象设置时区?