我似乎无法弄清楚为什么这不起作用。
我可能完全错了,但希望有人能提供帮助。
我有一个日期,我想在那个日期上增加 2 年。当我运行我的代码时,它只会回显我开始的日期。
有谁知道我哪里出错了?我只想使用 $start_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 中内置的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)