所有
我有一个数据库字段,它实际上计算从测验开始到当前时间所花费的时间。这是在某个时间点完成的(记录为当前时间),现在我有一个Unixtimestamp值
即。假设开始时间是5/5/2011 1pm,当前时间是在2011年5月5日下午2点填充的。因此,计算差异并将其存储为Unix时间戳。
现在我不知道这实际上是什么时候完成的,现在我不得不恢复到参加测验的时间。所以这里需要将Unix时间戳转换回小时,在这种情况下返回1小时。谁能帮助我了解如何做到这一点?
答案 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。
希望这有帮助。