使用SQL将Integer转换为时间值

时间:2011-08-14 15:05:15

标签: php mysql sql php-5.3

所以我使用以下SQL搜索在日志数据库的hours字段中添加数据库中的所有时间值:

SELECT SUM(hours) FROM logbook

但是当我收到输出时出现问题:

SUM(hours)
48514

几乎就在那里!

我真正需要它做的是:

04:85:14

哪个是HH:MM:SS

然后从那里认识到MM是> 59因此将HH向上舍入一个,并说这准备对所有3个部分做这个:HH MM SS。

但我不知道该怎么做!

感谢帮助人员!

1 个答案:

答案 0 :(得分:0)

我认为你应该能够在查询中做到这一点,但如果你出于某种原因必须使用php,你可以试试这个:

$hours = 48514;
function detailedHours($hours) {
    $hour = substr($hours,0,1);
    $minutes = substr($hours,1,2);
    $seconds = substr($hours,3,2);
    while($seconds>59) {
        $minutes++;
        $seconds-=60;
    }
    while($minutes>59) {
        $hour++;
        $minutes-=60;
    }
    return "$hour:$minutes:$seconds";
}
echo detailedHours($hours);