我正在使用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
。
答案 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' ) );