Php 迄今为止增加2年

Php 迄今为止增加2年,php,date,datetime,Php,Date,Datetime,我似乎不明白为什么这不起作用 我可能完全错了,但希望有人能帮助我 我有一个日期,我想再加上2年。当我运行代码时,它只是我开始的日期 有人知道我哪里出错了吗? 我只想使用$start\u date中的日期,而不是今天的日期 $start_date = "2013-05-06 13:18:56"; $targetDate = date($start_date, strtotime('+2 Years')); echo $targetDate; 你想要这个: $new_date =

我似乎不明白为什么这不起作用

我可能完全错了,但希望有人能帮助我

我有一个日期,我想再加上2年。当我运行代码时,它只是我开始的日期

有人知道我哪里出错了吗? 我只想使用$start\u date中的日期,而不是今天的日期

$start_date = "2013-05-06 13:18:56";
    $targetDate = date($start_date, strtotime('+2 Years'));
    echo $targetDate;
你想要这个:

$new_date = date('Y-m-d H:i:s', strtotime('+2 years', strtotime($from_date)));
有关日期格式的选项,请从以下位置查看。

第一个参数是日期格式,而不是要操作的实际日期


看看。

另一个选择是使用内置在PHP中的类:-

$date = \DateTime::createFromFormat('Y-m-d H:i:s', "2013-05-06 13:18:56");
var_dump($date);
$interval = new DateInterval('P2Y');
$date->add($interval);
var_dump($date);
此操作的输出类似于:-

object(DateTime)[1]
  public 'date' => string '2013-05-06 13:18:56' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/London' (length=13)
object(DateTime)[1]
  public 'date' => string '2015-05-06 13:18:56' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/London' (length=13)

这不是
date()
的工作方式。仔细阅读文档:在代码的末尾,当我补充说它可以工作时,您缺少了a)!谢谢你。为什么这不是最高级的呢?至少DateTime类是首选
object(DateTime)[1]
  public 'date' => string '2013-05-06 13:18:56' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/London' (length=13)
object(DateTime)[1]
  public 'date' => string '2015-05-06 13:18:56' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'Europe/London' (length=13)