2014-06-24 73 views
0

我寫了代碼來轉換時間的浮點值並將其轉換爲小時和分鐘。如果輸入2.5,它將返回2:30(2小時30分鐘)。時間轉換爲浮點數

$input = '2:5'; 
$num_hours=str_replace(":",".",$input,$num_hours) ; 
$hours = floor($num_hours); 
$mins = round(($num_hours - $hours) * 60); 
echo $hour_one = $hours.'.'.$mins; 

但現在我想扭轉這種局面:如果輸入2:30它應該返回2.5

回答

0

可以使用模%運營商爲第一操作:

$value = 2.5; 
echo floor($value) . ':' . (($value * 60) % 60); 

輸出:

2:30 

對他們來說,轉換回你可以使用:

$value = "2:30"; 

$parts = explode(':', $value); 
echo $parts[0] + floor(($parts[1]/60)*100)/100 . PHP_EOL; 
2.5 
1
list($hours, $minutes) = explode(':', $input); 

echo $hours . '.' . $minutes/60 * 100; 
0

我認爲這是你的答案試試這個

<?php 
$str = str_replace(":", ".", "2:5"); 
$float_value = floatval($str); // this Line Convertit une chaîne en nombre à virgule flottante 

echo $float_value; 

?> 
0
function getPartialTime($sTime) 
{ 
    $aTime = explode(':', $sTime); 
    if (isset($aTime[1]) { 
     $iPart = round($aTime[1]*100/60); 
    } else { 
     $iPart = 0; 
    } 

    return $aTime[0].'.'.$iPart; 
} 

這將返回上getPartialTime( '2:30')=> 2.5