-5

我在数据库中有两个字段,名为 start_time(12:30) 和 end_time(13:35)。我想以“4hrs 30Mins”格式显示它们的区别。我怎样才能完成它?

4

3 回答 3

2

在此问题被删除之前,这是一些慈善活动

$date1    = new DateTime($row['date1']);
$date2    = new DateTime($row['date2']);
$interval = $date2->diff($date1);
$period   = $interval->format('%y years, %m months, %d days, %h hours, %i minutes');
$period   = str_replace(array('0 years,', ' 0 months,', ' 0 days,', ' 0 hours,', ' 0 minutes,'), '', $period);
return str_replace(array('1 years, ', ' 1 months, ', ' 1 days, ', ' 1 hours, ', ' 1 minutes'), array('1 year, ', '1 month, ', ' 1 day, ', ' 1 hour, ', ' 1 minute'), $period);

参考

于 2013-04-12T13:00:14.153 回答
2

我自己想通了,谢谢。

$from_time = strtotime($job->start_time);
$to_time = strtotime($job->end_time);
$mins=round(abs($to_time - $from_time) / 60,2);
$hrs=round($mins/60,2);
$arr=explode(".",$hrs);
echo $arr[0]." Hrs ".$arr[1]." Mins"; 
于 2013-04-12T13:14:42.513 回答
1

快速浏览一下 PHP 文档将为您指明正确的方向。

要比较两个日期,可以使用diffDateTime 对象的方法。

完成后,您可以使用date随意格式化它。

于 2013-04-12T12:58:34.833 回答