我得到了这样的日期之间的时差:
$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。所以我想知道这个时间戳中有多少天,几小时和几分钟。
答案 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类型不给出时间差 大多数情况下,当你这样做时,它们被视为字符串类型