php 记录进行累加并显示总时长为秒的结果

时间:2022-08-28 19:49:36

现在有一个mysql数据库的test表里有一个duration字段,里面有三条记录: 
00:22:32 
13:42:21 
134:42:21 

表示的是时长,但是,保存类型是文本。 

现在要求,用php如何将这些记录进行累加,最后显示为一个总时长为秒钟的结果? 

复制代码代码如下:


//连接数据库... 略 
$total = 0; //总秒数 
$sql = "select duration from test"; 
$rs = mysql_query($sql); 
while($row = mysql_fetch_array($rs)) 

$arr=explode(":",$row[duration]); 
$h = $arr[0]*60*60; 
$m = $arr[1]*60; 
$s = $arr[2]; 
$total = $h+$m+$s; 

echo $total; 



这里主要是查询出数据,然后使用explode函数,以“:”分割字符串,得到一个数组。 
然后分别算出小时对应的秒数,分钟对应的秒数。然后和把这些秒数加起来。 
最后得到总秒数。