PHP:使用DateTime :: modify将两个DateTime对象的差异添加到另一个日期

时间:2012-03-04 12:58:21

标签: php datetime date time

如何将两个DateTime对象之间的差异添加到另一个DateTime对象?我尝试了一些类似于下面的代码,但它没有用。

$first_time=new DateTime('01/01/2000 00:00:00');
$second_time=new DateTime('01/01/2000 00:00:50');
$diff=$first_time->diff($second_time);
$time=new DateTime('01/01/2012 12:00:00');
$time->modify('+'.$diff->format('%s').' seconds');
echo $time;
//Should echo: "01/01/2012 12:00:50"

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:3)

format()不计算Interval的绝对秒数,只是给出了实习生属性的值。既然您想添加,为什么不简单地使用add()diff()返回一个DateInterval对象,这是add()所需要的。

$first_time=new DateTime('01/01/2000 00:00:00');
$second_time=new DateTime('01/01/2000 00:00:50');
$diff=$first_time->diff($second_time);
$time=new DateTime('01/01/2012 12:00:00');
$time->add($diff);
echo $time;