php怎么将时间差(秒)格式化为冒号间隔的时分秒格式

PHP 投稿 32600 0 评论

php怎么将时间差(秒)格式化为冒号间隔的时分秒格式

php将时间差(秒)格式化为冒号间隔的时分秒格式

php系统函数,示例:

echo gmstrftime('%H:%M:%S', 65);
//输出:00:01:05

以上函数有个缺点是当秒数足够大,超过24小时后,会显示错误,下面这个函数解决了这个问题,同时也达到了相同的效果。

/**
 * @desc php将时间差(秒)格式化为冒号间隔的时分秒格式
 * @param int $time
 * @return string
 */
function secTime($time = 0) {
    if ($time < 1) return '00:00:00';
    $str = '';
    if ($time >= 3600) {
        $str .= str_pad(floor($time / 3600), 2, '0', STR_PAD_LEFT) . ':';
        $time = $time % 3600;
    } else {
        $str .= '00:';
    }
    if ($time >= 60) {
        $str .= str_pad(floor($time / 60), 2, '0', STR_PAD_LEFT) . ':';
        $time = $time % 60;
    } else {
        $str .= '00:';
    }
    if ($time > 0) {
        $str .= str_pad($time, 2, '0', STR_PAD_LEFT);
    }
    return $str;
}

编程笔记 » php怎么将时间差(秒)格式化为冒号间隔的时分秒格式

赞同 (55) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽