본문으로 바로가기

php - 소요시간 계산(초, 분 단위)

category 코딩/PHP 2024. 7. 9. 13:49

 

소요시간, 근무시간 등을 계산하는 경우 strtotime() 함수 사용.

 

$to_time = strtotime("2008-12-13 10:42:30");
$from_time = strtotime("2008-12-13 10:40:00");

echo abs($to_time - $from_time). " seconds"; // 150 seconds
echo round(abs($to_time - $from_time) / 60, 2). " minutes"; // 2.5 minutes

 

사용자 함수를 활용하는 방법(초 단위).

초를 H:m:s 형태로 표현하는 방법.

 

$a = getSeconds('00:00:13');
$b = getSeconds('00:00:19');
$c = getSeconds('01:25:33');
$d = getSeconds('32:15:45');

$result = $a+$b+$c+$d;

echo "총 ".$result." 초<br>"; // 총 121310 초
echo "시간으로 환산하면<br><b>".getTimeFromSeconds($result)."</b>"; // 33:41:50

// 'HH:mm:ss' 형태의 시간을 초로 환산
function getSeconds($HMS)
{
    $tmp = explode(':', $HMS);
    $std = mktime(0,0,0,date('n'),date('j'),date('Y'));
    $scd = mktime(intval($tmp[0]), intval($tmp[1]), intval($tmp[2]));

    return intval($scd-$std);
}

// 초를 'HH:mm:ss' 형태로 환산
function getTimeFromSeconds($seconds)
{
    $h = sprintf("%02d", intval($seconds) / 3600);
    $tmp = $seconds % 3600;
    $m = sprintf("%02d", $tmp / 60);
    $s = sprintf("%02d", $tmp % 60);

    return $h.':'.$m.':'.$s;
}