我编写了代码来转换时间的浮点值并将其转换为小时和分钟。如果输入 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;
Run Code Online (Sandbox Code Playgroud)
但现在我想反转它:如果输入2:30它应该返回2.5.
您可以使用模运算符%进行第一个运算:
$value = 2.5;
echo floor($value) . ':' . (($value * 60) % 60);
Run Code Online (Sandbox Code Playgroud)
输出:
$value = 2.5;
echo floor($value) . ':' . (($value * 60) % 60);
Run Code Online (Sandbox Code Playgroud)
要将它们转换回来,您可以使用:
$value = "2:30";
$parts = explode(':', $value);
echo $parts[0] + floor(($parts[1]/60)*100) / 100 . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)
2:30
Run Code Online (Sandbox Code Playgroud)
作为我们可以使用的函数:
function hours_tofloat($val){
if (empty($val)) {
return 0;
}
$parts = explode(':', $val);
return $parts[0] + floor(($parts[1]/60)*100) / 100;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6194 次 |
| 最近记录: |