如何使用php将时间'08:60:02'转换为'09:00:02'?

问题描述:

我有一个特殊的要求,需要总计时间列,但几乎没有记录总和时间即将到来'08:60:02',所以我需要把它作为'09:00:02'。我试图先将它转换为秒,然后再转换回h:m:s,但它的结果为null。如何使用php将时间'08:60:02'转换为'09:00:02'?

+0

哈里斯答案?你能解释一下吗? –

+0

看看你的问题:“如何使用php将'08:60:02'时间转换为'09:00:02'?” ...您问了PHP解决方案,但得到了错误的SQL查询。它很混乱。 –

可以尝试像 SELECT轮MySQL函数((SUM((08:60:02))/ 60)/ 100,1);

$a = date_create_from_format("H:i:s", "08:60:02"); 
echo $a->format("H:i:s"); 

显示

09:00:02

+0

伟大的代码。 @akond –

它会为你工作:

$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`)))