如何从“ Y:m:d H:i:s”中减去“ Y:m:d H:i:s”并在“ H:i”中返回结果

时间:2018-08-18 05:57:11

标签: php mysql

我想得出EndTime-StartTime的结果,以“ 02小时:30分钟”这样的格式获取任务完成时间。 StartTime和EndTime都采用“ Y:m:d 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');

我都尝试了两次,但是没有用。

2 个答案:

答案 0 :(得分:0)

$ interval = date_diff($ datetime1,$ datetime2);

android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"

答案 1 :(得分:0)

您可以使用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对象。