时间段占工作日的百分比

时间:2017-09-26 20:04:54

标签: php

我需要计算一定时间内营业日的百分比。

为了获得营业日的持续时间,我使用如下查询:

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将时间转换为整数?

1 个答案:

答案 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);

Demo