用PHP计算传递时间

时间:2013-02-25 09:17:28

标签: php time datediff

我得到了这样的日期之间的时差:

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

我希望从$tdiff提取日期,小时和分钟。输出应该是:35 days 6 hours 14 minutes

我真的在搜索并尝试自己做点什么。但我无法获得真正的价值。

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

----编辑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。所以我想知道这个时间戳中有多少天,几小时和几分钟。

2 个答案:

答案 0 :(得分:10)

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');

答案 1 :(得分:-1)

您可以使用日期对象来获得更准确的信息 默认的var类型不给出时间差 大多数情况下,当你这样做时,它们被视为字符串类型