2017-04-08 2 views
1

시간 형식 00:00:00을 십진수 0.00으로 변환하려고합니다.MysQl 시간을 십진수 형식으로 변환

<?php 
    $hourswork_wk1 = $deposit26['hours_worked']; 
    $decimalHourswk1 = decimalHours($hourswork_wk1); 
    decimalHours(); 

    function decimalHours($timewk1) 
    { 
     $hourswork_wk1 = explode(":", $timewk1); 
     return ($hourswork_wk1[0] + ($hourswork_wk1[1]/60) + ($hourswork_wk1[2]/3600)); 
     echo $decimalHours 
    } 


;?> 

편집

<?php 
    $hourswork_wk1 = $deposit26['hours_worked']; 
    $decimalHourswk1 = decimalHours($hourswork_wk1); 

    function decimalHours($timewk1) 
    { 
     $hourswork_wk1 = explode(":", $timewk1); 
     return ($hourswork_wk1[0] + ($hourswork_wk1[1]/60) + ($hourswork_wk1[2]/3600)); 

    } 
?> 

내가 정의되지 않은 함수 decimalHours()를 호출 오류 :

나는이 시도. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

퍼팅은'echo' 후에는'return'는 이해되지 않는다. 'return' 문은 함수를 종료합니다. – Barmar

+0

'decimalHours()'뒤에';'가 없습니다. – Barmar

+0

왜'decimalHours()'행이 있습니까? 아무것도하지 않으며 유효하지 않은 구문입니다. – Barmar

답변

0

필자가 작성한 코드가 어떤 이유로 든 나를 위해 일하지 않았다. 그래서 좀 더 실체를 찾고 난 후에 Philip Norton code을 발견했습니다. 동적 변수가있는 매력처럼 작동합니다. 자신에 맞게.

스크립트

<?php 
//$week1hours = $deposit26['hours_worked']; 
$week1hours = "14:33:38"; 
function time_to_decimal($time) { 
    $timeArr = explode(':', $time); 
    $decTime = ($timeArr[0] + ($timeArr[1]/60) + ($timeArr[2]/3600)); 
    return $decTime; 
} 
echo time_to_decimal($week1hours); 
?> 

결과

14.560555555556 

보너스 : 제한 2 소수

사용 라운드에서만 얻을에 2 개 소수

<?php 
//$week1hours = $deposit26['hours_worked']; 
$week1hours = "14:33:38"; 
function time_to_decimal($time) { 
    $timeArr = explode(':', $time); 
    $decTime = ($timeArr[0] + ($timeArr[1]/60) + ($timeArr[2]/3600)); 
    return $decTime; 
} 
$totalhours= time_to_decimal($week1hours); 
echo round($totalhours, 2); 
?> 

결과

14.56 
+0

함수 이름 이외의 다른 점은 무엇입니까? – Barmar

+0

@Barmar : 잘 모르겠다. 내가 말할 수 있었으면 좋겠다. –

+0

넷빈즈는 정의하기 전에 함수를 호출하는 것을 좋아하지 않을 수 있습니까? PHP 자체에는 아무런 문제가 없습니다. – Barmar

관련 문제