获取unix时间值与现在之间的小时数

时间:2013-04-30 13:45:18

标签: php unix time hour

我正在使用Highcharts库创建一些漂亮的报告。

我有一组unix时间值,我需要将它们转换为该日期和“Now”之间的小时数。

series: [{
    name: 'Fecha/Hora de Acceso',
    // Outputs: 2382374734 (a unix time)
    data: [<?php foreach($tutores as $t) echo $t['lastlogin'] . ','; ?>]
}]

使用PHP有一种简单的方法吗?我正在寻找像34这样的价值。不是34 Hours

3 个答案:

答案 0 :(得分:4)

使用PHP time()函数来比较并将结果除以3600以获得小时差异

http://www.php.net/manual/en/function.time.php

<?php foreach($tutores as $t) {
    echo floor((time() - $t['lastlogin']) / 3600) . ',';
} ?>

编辑:更新以在示例中使用floor()。也可以使用round()或其他任何内容来格式化你想要的结果

答案 1 :(得分:1)

这应该这样做:

$datetime1 = new DateTime();
$datetime2 = new DateTime('@'.$t['lastlogin']);
$interval = $datetime1->diff($datetime2);
echo $interval->format('%h');

答案 2 :(得分:0)

是的,你可以DateTime::diff()http://php.net/datetime.diff

$input = 2382374734;

$old = new DateTime( '@' . $input );
$diff = $old->diff( new DateTime() );

echo sprintf( '%d is %d hours ago', $input, $diff->format( '%h' ) );