Php 将datetime格式的日期或时间添加到另一个datetime 我在做什么
我想找出2个datetime之间的差异,并将其添加到另一个datetime。我只能以Y-m-dh:I:s格式获得差异 代码 这里我想将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
$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);