问题
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.
回答1:
PHP has a DateInterval class which can be used like so:
$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');
回答2:
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
来源:https://stackoverflow.com/questions/15063595/calculate-passed-time-with-php