将秒转化为时分秒

公司的业务是做直播的,因此主播完成直播之后,要知道每位主播的直播时长,根据直播时长来结算工资。在做的过程中,遇到了一个问题,就是如何将秒转化为时分秒。想了一会,写了如下的函数来解决问题:

    /**
     * 将秒数转化为时分秒
     */
    public static function sec2Time($second){
        if(!is_numeric($second)) return 0;
        $retarr = array('hours'=>0,'minutes'=>0,'seconds'=>0);

        if($second >= 3600){
            $retarr['hours'] = floor($second/3600);
            $second = ($second%3600);
        }

        if($second >= 60){
            $retarr['minutes'] = floor($second/60);
            $second = $second%60;
        }
        $retarr['seconds'] = floor($second);
        return $retarr;
    }

  道理很简单,从大的时间段往小的时间段递减。先算出小时数,余下的小时数再去算分钟数,分钟数算完,如果还有剩余就是秒数。当然此方法也可以扩展算年 月 日 时分秒的应用。

posted @ 2016-11-14 15:17  roverliang  阅读(4475)  评论(2编辑  收藏  举报