我有一个特殊要求,需要对时间列进行求和,但是很少有记录和时间即将来临' 08:60:02'所以我需要得到它' 09:00:02'。我试图先将它转换为秒,然后转换回h:m:s,但结果为null。
答案 0 :(得分:5)
$a = date_create_from_format("H:i:s", "08:60:02");
echo $a->format("H:i:s");
显示
09:00:02
答案 1 :(得分:1)
你可以试试像mysql这样的函数 SELECT round((SUM((08:60:02))/ 60)/ 100,1);
答案 2 :(得分:-1)
它适合你:
$hora = '08:60:02';
$hora_exp = explode(':', $hora);
$seg = $hora_exp[2];
$min = $hora_exp[1];
$hora = $hora_exp[0];
echo date('H:i:s', mktime($hora, $min, $seg, 0, 0, 0));
//result= 09:00:02
恢复:
list($hour,$min,$sec) = explode(':', '08:60:02');
echo date('H:i:s', mktime($hour, $min, $sec, 0, 0, 0));
对于MySQL:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(`time_column`)))