2013-03-13 92 views
1

我有一个小问题,在计算总小时计算总小时

我的工作时间之和是这样的:

Day1 - 12:23 Hours 
Day2 - 11:43 Hours 
Day3 - 10:18 Hours 

我如何通过PHP得到它? 在此先感谢

+0

向我们展示你的代码 – 9edge 2013-03-13 12:03:54

回答

3

只需添加它们是这样的:

$day1hours = "12:23"; 
$day2hours = "11:43"; 
$day1 = explode(":", $day1hours); 
$day2 = explode(":", $day2hours); 

$totalmins = 0; 
$totalmins += $day1[0] * 60; 
$totalmins += $day1[1]; 
$totalmins += $day2[0] * 60; 
$totalmins += $day2[1]; 

$hours = $totalmins/60; 
$minutes = $totalmins % 60; 

$totalhours = "$hours.$minutes"; 

这是很阐述这样的,但它只是为了显示这个想法:计算回分钟,加分在一起,然后计算出回小时。

请注意,PHP对日期和时间有相当广泛的支持。考虑使用:http://www.php.net/manual/en/book.datetime.php

0

如果您使用此函数计算时间计算,然后它会工作

function sumTime($initialHour, $finalHour) { 
    $h = date('H', strtotime($finalHour)); 
    $m = date('i', strtotime($finalHour)); 
    $s = date('s', strtotime($finalHour)); 
    $tmp = $h." hour ".$m." min ".$s." second"; 
    $sumHour = $initialHour." + ".$tmp; 
    $newTime = date('H:i:s', strtotime($sumHour)); 
    return $newTime; 
}; 

有关详细说明,请参阅此链接:Time Calculation in php

1

这种技术将给出确切的总小时分钟。 以上回答给了我15年1月25日,当我加入00:30和00:45

<?php 
$hourMin = array("00:30","00:45"); //an Multiple Hour:Minutes array 
$hours = 0; 
$mins = 0; 
    foreach($hourMin as $val) 
    { 
     $explodeHoursMins = explode(':',$val); 
     $hours += $explodeHoursMins[0]; 
     $mins += $explodeHoursMins[1]; 
    } 

    $minToHours = date('H:i', mktime(0,$mins)); //Calculate Hours From Minutes 
    $explodeMinToHours = explode(':',$minToHours); 
    $hours += $explodeMinToHours[0]; 
    $finalMinutes = $explodeMinToHours[1]; 
    echo $hours." : ".$finalMinutes; 
?>