我似乎无法理解为什么这不起作用。
我可能完全错了,但希望有人可以提供帮助。
我有一个约会,我希望在那个日期增加2年。当我运行我的代码时,它只回显我开始的日期。
有谁知道我哪里出错了? 我想只使用$ start_date中的日期而不是今天的日期。
$start_date = "2013-05-06 13:18:56";
$targetDate = date($start_date, strtotime('+2 Years'));
echo $targetDate;
答案 0 :(得分:10)
你想要这个:
$new_date = date('Y-m-d H:i:s', strtotime('+2 years', strtotime($from_date)));
有关日期格式的选项,请查看documentation。
答案 1 :(得分:0)
答案 2 :(得分:0)
另一个选择是使用PHP内置的DateTime类: -
$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)