Calculate passed time with PHP

我的梦境 提交于 2020-01-02 09:13:11

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!