소요시간, 근무시간 등을 계산하는 경우 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;
}
참고문헌 및 관련링크
'코딩 > PHP' 카테고리의 다른 글
PHP - 구글 OTP(Google Authenticator) 인증 연동 (1) | 2024.08.20 |
---|---|
스마트 에디터 2 (se2) - 한글 이미지 깨지는 문제 해결 (0) | 2024.06.25 |
PHP - 같은 항목 테이블 셀 병합 (rowspan) (0) | 2023.06.23 |
PHP - date 함수 인자 정리 (Y-m-d 등) (0) | 2023.01.30 |
자주 쓰는 것들 (1) | 2023.01.19 |