Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calculate passed time with PHP

Tags:

php

time

datediff

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.

like image 408
Yasin Yörük Avatar asked Apr 14 '26 12:04

Yasin Yörük


1 Answers

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 %i minutes');
like image 132
Husman Avatar answered Apr 17 '26 00:04

Husman