我需要计算一定时间内营业日的百分比。
为了获得营业日的持续时间,我使用如下查询:
SELECT
timeOpen,
timeClose,
TIMEDIFF(timeClose, timeOpen) AS hours
FROM businessHours
我得到的结果如下:HH:MM,如11:00或10:30。
我有点困惑如何计算另一个时间段的百分比,例如工作时间的4小时是我有半小时的价值,比如10:30。我没有其他会议记录,即偶数或半小时。
除此之外,我认为我的数学将是这样的:
(4 x 100) / 10.5
我是否需要使用某种str_replace
将时间转换为整数?
答案 0 :(得分:1)
您可以将小时数转换为十进制数,以便对它们进行算术运算。为此,您需要按:
分解每小时,并将第一个元素添加到第二个元素除以60。
之后,您将拥有可以用以下数字进行数学处理的数字:
<?php
$timestamp1 = "10:30";
$timeArray1 = explode(":", $timestamp1);
$timeInDecimal1 = $timeArray1[0] + $timeArray1[1]/60;
$timestamp2 = "4:00";
$timeArray2 = explode(":", $timestamp2);
$timeInDecimal2 = $timeArray2[0] + $timeArray2[1]/60;
var_dump($timeInDecimal2/$timeInDecimal1);