用PHP计算经过的时间

用PHP计算经过的时间,php,time,datediff,Php,Time,Datediff,我得到了日期之间的时差,如下所示: $time1 = "2013-02-25 12:00:00"; $time2 = "2013-01-01 12:00:00"; $tdiff = strtotime($time1) - strtotime($time2); 我想从$tdiff中提取天、小时和分钟。输出应为:35天6小时14分钟 我真的在寻找,试着自己做点什么。但我不能得到真正的价值 ----编辑-- 我可以找到日期差异。我想从计算时间提取天,小时,分钟 ----编辑2---- 这是我完整的m

我得到了日期之间的时差,如下所示:

$time1 = "2013-02-25 12:00:00";
$time2 = "2013-01-01 12:00:00";
$tdiff = strtotime($time1) - strtotime($time2);
我想从
$tdiff
中提取天、小时和分钟。输出应为:
35天6小时14分钟

我真的在寻找,试着自己做点什么。但我不能得到真正的价值

----编辑-- 我可以找到日期差异。我想从计算时间提取天,小时,分钟

----编辑2---- 这是我完整的mysql代码

select (
    select avg(UNIX_TIMESTAMP(tarih)) from table1 
    where action in (6) and who = '".$user."' and dates between '".$date1."' and '".$date."'
    ) - ( 
    select avg(UNIX_TIMESTAMP(tarih_saat)) from table2 
    where action in (6) and active = 1 and dates between '".$date1."' and '".$date2."
)

此查询向我返回时间的真实值。这个查询对我来说是正确的。结果如下:
215922
。UNIX_TIMESTAPM的结果类型。所以我想知道这个时间戳中有多少天,多少小时,多少分钟

PHP有一个DateInterval类,可以这样使用:

$date1 = new DateTime('2013-02-25 12:00:00');
$date2 = new DateTime('2013-01-01 12:00:00');

$diff = $date2->diff($date1); // Get DateInterval Object

echo $diff->format('%d Day and %h hours and %i minutes');

您可以使用date对象来获得更精确的数据。
默认变量类型不提供时间差。

大多数情况下,当像您这样进行分配时,这些日期被视为字符串类型

这些日期可能重复最初来自数据库吗?@Cups是的。它们来自数据库这个答案解释了如何在sql语句(mysql)和指向时间/日期函数手册页面的链接中做到这一点,而不调用PHP类。完全冗余的答案
%m
格式()
中是不正确的!会议记录应使用
%i
。这是参考()。@vee谢谢。编辑了我的答案。