douduan9391 2017-09-26 20:04
浏览 62
已采纳

时间段占工作日的百分比

I need to calculate what percentage of the business day certain period of time is.

To get business day duration I use a query like this:

SELECT 
    timeOpen,
    timeClose,
    TIMEDIFF(timeClose, timeOpen) AS hours
FROM businessHours

The results I get are in the following format: HH:MM, like 11:00 or 10:30.

I'm a bit confused how to calculate what percentage another time period, like 4 hrs is of the business day hours is when I have half-hour values, like 10:30. I do not have other minutes, i.e. either even or half-hour.

Other than that I think my math will be something like this:

(4 x 100) / 10.5

Do I need to use some sort of str_replace to convert time to integer?

  • 写回答

1条回答 默认 最新

  • duanqiang9212 2017-09-26 21:04
    关注

    You can transform the hours to decimal in order to do arithmetic with them. In order to do this, you need to explode each hour by :, and add the first element to the second divided by 60.

    After that you'll have numbers you can do math with:

    <?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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路