doulong1987 2018-08-11 17:22
浏览 45
已采纳

PHP,将gmdate添加到gmdate

I have a code that looks like this:

        $dagtidhelg = gmdate('H:i', $diffMorning) . "
";
        $kvallstidhelg = gmdate('H:i', $diffNight);

This code runs several times per page since its runt every time a row is loaded from mysql. It can return a time value ie 08:15 and 09:30. This is the lenght of two work sessions.

That works great but now Im stuck, I want to display the total of every work session at the bottom. I have tried this:

        $dagtidhelgtotal = $dagtidhelgtotal + $dagtidhelg;
        $kvalltidhelgtotal = $kvalltidhelgtotal + $kvallstidhelg;

But that only adds the hours togheter, it wont even display the : So Im guessing that Im doing this totaly wrong.

How can I add these times togheter? Maybe convert them to minutes, then add them all togheter?

  • 写回答

1条回答 默认 最新

  • duangouyan3328 2018-08-11 19:22
    关注

    Add duration together is simple .But you must keep in mind that duration and date are two things completely different. You can write 100:08 for duration but not for date. If your purpose is to keep a duration counter on(one or) every page(s) you need to build a system based on $_SESSION variable. To add two duree you can proceed like this:

    function addDuration($duration1,$duration2){
    
            $result=array_map(function($x,$y){return sprintf("%'.02d", $x+$y);},explode(':',$duration1),explode(':',$duration2));
            if($result[1]>60){
                $result[0]=sprintf("%'.02d",$result[0]+(int)$result[1]/60);
                $result[1]=sprintf("%'.02d",$result[1]%60);
            }elseif($result[1]==60){
                $result[1]="00";
                $result[0]=sprintf("%'.02d",$result[0]+1);
            }
            return  join(':',$result);
    }
    

    and the usage in your case could be:

     $dagtidhelgtotal = addDuration($dagtidhelgtotal,$dagtidhelg);
    

    if we suppose that

    $dagtidhelgtotal ==='100:09' && $dagtidhelg === '08:08'
    

    then after the addition $dagtidhelgtotal will be equal to '108:17';

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

报告相同问题?

悬赏问题

  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置