php把秒数转换为可读的时间函数 sec2date()

php把秒数转换为可读的时间函数 sec2date()

就是一个把秒数 转换为 天:时:分:秒 格式 而已啦

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * 把秒数转换为时间
 *
 * @param int    $sec      秒数
 * @param string $format   格式化
 * @param bool   $zero_pad
 *
 * @return mixed|string
 */
function sec2date($sec, $format = ":D天:H小时:M分钟:S秒", $zero_pad = false)
{
    if (!is_numeric($sec)) {
        return false;
    }

    $days = floor($sec / 86400);

    $tmp = $sec - ($days * 86400);

    $hours = floor($tmp / 3600);

    $tmp2 = $tmp - ($hours * 3600);

    $minute = floor($tmp2 / 60);

    $second =  $tmp2 - ($minute * 60);

    $fmt = array(':D' => $days,':H' => $hours,':M' => $minute,':S' => $second);

    if ($zero_pad === true) {
        $fmt = array_map(function($val){
            return str_pad($val, 2, STR_PAD_LEFT);
        }, $fmt);
    }

    $output = str_replace(array_keys($fmt), array_values($fmt), $format);

    return $output;
}