如何从“y:m:dh:i:s”中减去“y:m:dh:i:s”,并在“h:i”中返回结果

xdyibdwo  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(373)

我想得到endtime-starttime的结果,以这种格式获得任务完成时间,如“02小时:30分钟”。开始时间和结束时间的格式都是“yemoji symbols:md h:i:s”。我尝试了这个,但没有给出正确的输出。

$starttime = $row['StartTime'];
$endtime = $row['EndTime'];

//method1
$starttime = date("H:i",$starttime);
$endtime = date("H:i",$endtime);
$start = strtotime($starttime);
$end = strtotime($endtime);
$achtime = $end-$start;
$achtime = date("H:i",$achtime);

//method2
$interval = date_diff($starttime,$endtime);
$achtime = date_format($interval,'H Hours : i Mins');

我两个都试过了,但都没用。

yqhsw0fo

yqhsw0fo1#

可以使用datetime对象。

$startDate = new DateTime("2018:08:18 00:00:00"); 
$endDate   = new DateTime("2018:08:18 02:10:00");
$interval  = $startDate->diff($endDate);

echo ($interval->days * 24) + $interval->h ." Hours : ". $interval->i ." Mins";

如果您想非常具体地说明所读取的日期,或者所提供的格式不是受支持的格式,那么建议使用datetime对象。

3okqufwl

3okqufwl2#

$interval=date\u diff($datetime1,$datetime2);

return $interval->format($differenceFormat);

相关问题