将Unix时间戳转换为小时

时间:2011-05-05 22:00:03

标签: php unix-timestamp

所有

我有一个数据库字段,它实际上计算从测验开始到当前时间所花费的时间。这是在某个时间点完成的(记录为当前时间),现在我有一个Unixtimestamp值

即。假设开始时间是5/5/2011 1pm,当前时间是在2011年5月5日下午2点填充的。因此,计算差异并将其存储为Unix时间戳。

现在我不知道这实际上是什么时候完成的,现在我不得不恢复到参加测验的时间。所以这里需要将Unix时间戳转换回小时,在这种情况下返回1小时。谁能帮助我了解如何做到这一点?

2 个答案:

答案 0 :(得分:9)

你有秒,所以只需做类似

的事情
SELECT secondsField / 3600 as 'hours' FROM tableName

答案 1 :(得分:1)

以下是查找两个时间戳之间差异的示例。

//Get current timestamp.
$current_time = time();

//Convert user's create time to timestamp.
$create_time  = strtotime('2011-09-01 22:12:55');

echo "Current Date \t".date('Y-m-d H:i:s', $current_time)."\n";
echo "Create Date \t".date('Y-m-d H:i:s', $create_time)."\n";

echo "Current Time \t ".$current_time." \n";
echo "Create Time \t ".$create_time." \n";

$time_diff = $current_time - $create_time;
$day_diff = $time_diff / (3600 * 24);

echo "Difference \t ".($day_diff)."\n";
echo "Quote Index \t ".intval(floor($day_diff))."\n";
echo "Func Calc \t ".get_passed_days($create_time)."\n";

function get_passed_days($create_time)
{
    return intval(floor((time() - $create_time) / 86400));
}

要转换为小时数,而不是86400而不是3600。

希望这有帮助。