Calculate passed time with PHP

I got the time difference between dates like this :

$time1 = "2013-02-25 12:00:00";
$time2 = "2013-01-01 12:00:00";
$tdiff = strtotime($time1) - strtotime($time2);

I want extract days, hours and minutes from $tdiff . Output should like : 35 days 6 hours 14 minutes

I really searched and try to do something by myself. But I can't get true value.

---- EDIT ---- I can found date diff. I want extract days, hours, minutes from calculated time...

---- EDIT 2 ---- Here is my complete mysql code

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."
)

This query returns to me true value of time. This query is working correctly for me. Result is like : 215922 . result type of UNIX_TIMESTAPM. So I want to learn how many days, hours and minutes in this timestamp.


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 %m minutes');

you could use date object to get more accurate.
the default var type doesnt give the time difference.
most often they are considered as string types when assinged like you did it

链接地址: http://www.djcxy.com/p/10112.html

上一篇: 将datetime转换为更早的时间

下一篇: 用PHP计算传递的时间