Php 将datetime格式的日期或时间添加到另一个datetime 我在做什么

Php 将datetime格式的日期或时间添加到另一个datetime 我在做什么,php,datetime,Php,Datetime,我想找出2个datetime之间的差异,并将其添加到另一个datetime。我只能以Y-m-dh:I:s格式获得差异 代码 这里我想将$difference添加到另一个日期时间,比如$finaldate。如果不可能,那么我可以使用$date->modify(“+$difference minutes”)*这是一种使用日期时间的方法: $begin = new DateTime($start); $finish = new DateTime($end); $difference = $fin

我想找出2个datetime之间的差异,并将其添加到另一个datetime。我只能以Y-m-dh:I:s格式获得差异

代码 这里我想将
$difference
添加到另一个日期时间,比如
$finaldate
。如果不可能,那么我可以使用
$date->modify(“+$difference minutes”)

*这是一种使用日期时间的方法:

$begin = new DateTime($start);
$finish =  new DateTime($end);


$difference = $finish->format('U') - $begin->format('U');

// working version
$minutesDiff = round(($difference/60), 0);
$finalDate = new DateTime();
$finalDate->modify(sprintf('+%s minutes', $minutesDiff));
编辑 添加缺少的括号

edit2 没有->diff()方法的版本

关于:

$begin = strtotime($start);
$finish= strtotime($end);
$diff  = $finish-$begin;
$finaldate = strtotime($finaldate)+$diff;
echo date("Y-M-D h-i-s",$finaldate);

使用strotime转换为时间戳计算差异(以int表示)将int添加到最终时间戳将时间戳转换回y-m-d h:i:s如果可能,请使用DateTime。您能否提供如何获得分钟差异的答案。新版本应使用分钟,但这取决于你是想完全移除秒数还是秒数rounded@gries:不工作。我给出了两个日期时间2013-06-26 03:00和2013-06-26 04:00。它返回0。@Avinash plz提供您的完整代码,此代码有效,03:00与04:00相差1小时。顺便问一下,“返回0”是什么?哪个变量的值为0?@gries:我也面临同样的问题。我认为这是因为%s只给出datetime的秒数部分,因此$minutesDiff返回0
$begin = strtotime($start);
$finish= strtotime($end);
$diff  = $finish-$begin;
$finaldate = strtotime($finaldate)+$diff;
echo date("Y-M-D h-i-s",$finaldate);