{@ $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}
여기서 어떻게 변경을 해야할지 조언 받고자 조심스레 글 올리게되었습니다 ㅠㅠ
댓글 5
모두 초 단위로 변환하여 덧셈을 한 다음, 시:분:초 형태로 다시 변환하면 됩니다.
예를 들어 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
위 내용대로라면 00:00:00 값을 계산할때에는 00:00:00이 나오는게아니고 0으로만 값이 나오게됩니다 ㅠㅠ 혹시 다른 방법은 없을까요?
혹시 하나만 더 여쭤봐도 괜찮을런지요..?
저거와는 상관없는 질문입니다.
확장변수 1 : 날짜
value ex) 9/21
확장변수 2 : 데이터
value ex) 54
이렇게 있다고 가정하에
서버 시간 기준으로 이번 달의 데이터만 따로 계산할 수 있는 방법이 있을까요?
<div style="height:25px; padding-top:10px;">
<!--@foreach($document_list as $no => $document)-->
<!--@foreach($list_config as $key => $val)-->
<!--@if($val->idx == -1)-->
<!--@else-->
{@ $jisang_cost = $document->getExtraValueHTML(2) } {@ $num_str2 = preg_replace("[^0-9]", "", $jisang_cost)} {@ $t2 = $t2 + $num_str2}
지금 이러한 코드로 확장변수의 값을 모두 더하고 있습니다만.. 어느부분에 어떻게 추가를해야 좋을지 조언 부탁드립니다..
(혹시 단순한 처리 방법으로도 할 수 있는거라면 설명도좀 부탁드립니다 ㅠㅠ)
아무튼 서버 시간이 2018년 9월 1일이라면 아래와 같이 현재 날짜의 여러 구성요소들을 각각 구할 수 있으니 이것과 비교해 보시면 되겠네요.
date('Y') = 2018
date('y') = 18
date('m') = 09
date('n') = 9
date('d') = 01
date('j') = 1
date('H:i:s') = 12:00:00