我在计算总小时数时遇到了一个小问题
我的工作时间是这样的:
Day1 - 12:23 Hours
Day2 - 11:43 Hours
Day3 - 10:18 Hours
我怎样才能通过php获得它?提前致谢
我在计算总小时数时遇到了一个小问题
我的工作时间是这样的:
Day1 - 12:23 Hours
Day2 - 11:43 Hours
Day3 - 10:18 Hours
我怎样才能通过php获得它?提前致谢
只需像这样添加它们:
$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
这种技术将给出准确的总小时数和分钟数。当我添加 00:30 和 00:45 时,上面的答案给了我 1.25.15
<?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;
?>
如果您使用此函数来计算时间,那么它将起作用
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;
};
有关更多解释,请参阅此链接:PHP 中的时间计算