douping3860 2014-03-13 10:19
浏览 72
已采纳

在PHP中使用时间值聚合两个字符串

after few tries I have failed getting the right result. Situation looks like this:

$morning = '01:05:12';
$evening = '14:05:29';

$sum = gmdate('H:i:s', strtotime($morning) + strtotime($evening));
echo $sum;

It doen't work, sum variable outputs 06:42:25, which if of course not correct. How should I fix this?

Thank you

  • 写回答

5条回答 默认 最新

  • doujugu1722 2014-03-13 10:56
    关注
    function strToDuration($str) {
        sscanf($str, '%d:%d:%d', $hours, $minutes, $seconds);
        return $seconds + ($minutes * 60) + ($hours * 60 * 60);
    }
    
    function durationToStr($duration) {
        $hours    = floor($duration / (60 * 60));
        $seconds  = $duration % (60 * 60);
        $minutes  = floor($seconds / 60);
        $seconds %= 60;
        return sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
    }
    
    $morning = '01:05:12';
    $evening = '14:05:29';
    
    echo durationToStr(strToDuration($morning) + strToDuration($evening));
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 用hfss做微带贴片阵列天线的时候分析设置有问题
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题
  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 海浪数据 南海地区海况数据,波浪数据
  • ¥20 软件测试决策法疑问求解答