{@ $jisang_cost = $document->getExtraValueHTML(1) } {@ $num_str1 = preg_replace("[^0-9]", "", $jisang_cost)} {@ $t1 = $t1 + $num_str1}
{@ $air_cost = $document->getExtraValueHTML(2) } {@ $num_str2 = preg_replace("[^0-9]", "", $air_cost)} {@ $t2 = $t2 + $num_str2}
위 방식으로 확장변수 각각 기재되어있는 목록들을 다 더하는 방식입니다.
첫번째 확장변수에 기재되는 값들은 단순한 숫자들이라 3+3 = 6 방식인데
두번째 확장변수에 기재되는 값들은 32:56:01 이런 시간 값들입니다.
두번째 확장변수 덧셈에서 문제가 조금 발생했는데요..
00:00:00 + 00:00:00 = 00:00:00 방식을 어떻게 구현해야할지 도무지 모르겠습니다 ㅠㅠ
만약 다 더해진 값이 01:61:00일 경우 02:01:00 으로도 변경해야하는 방법도 도무지 모르겠습니다 ㅠㅠ
검색을해보면 다 현재시간 값 기준에 대한 결과만 나오더라고요..
{@ $air_cost = $document->getExtraValueHTML(2) } {@ $num_str2 = preg_replace("[^0-9]", "", $air_cost)} {@ $t2 = $t2 + $num_str2}
여기서 어떻게 변경을 해야할지 조언 받고자 조심스레 글 올리게되었습니다 ㅠㅠ
모두 초 단위로 변환하여 덧셈을 한 다음, 시:분:초 형태로 다시 변환하면 됩니다.
예를 들어 32:56:01과 14:28:57을 더한다면
32:56:01 = (32 * 3600) + (56 * 60) + 1 = 118561초
14:28:57 = (14 * 3600) + (28 * 60) + 57 = 52137초
118561 + 52137 = 170698초
초 단위로 나온 결과를 시:분:초 형태로 다시 변환하는 법:
floor(170698 / 3600) = 47시간
floor((170698 % 3600) / 60) = 24분
(170698 % 60) = 58초
sprintf('%02d:%02d:%02d', 47, 24, 58) = 47:24:58