PHP: 90分钟显示为1.5小时

PHP: display 90 min as 1.5 hours

分钟=90 需要以小时显示

echo intdiv($ct['time'], 60).'.'. ($ct['time'] % 60)." Hours";

输出是 1:30 小时。

但我需要显示为 1.5 小时。 如何将分钟转换为小时?如1.5、1.6、1.7、1.8、1.9、2小时等。

添加此代码。

首先添加小时和分钟,然后我添加了舍入函数,因此它会显示正确的输出,最多 2 位小数。

$小时=1; $分钟=30; $CalculateHours = $hours + round($minutes / 60, 2);回显 $CalculateHours 。 “小时数”;

结果:1.5 小时

我同意所有关于显示 1h20 比显示 1.33 hours 更清晰的评论。您可以将其四舍五入并显示 1 h and ½1 hour and ¼,但仍然不容易阅读。

如果你想遵守工作时间,那么你可以这样做:

$min = $cat['prepration_time'];
if ($min < 60) {
    echo $min == 1 ? "$min minute" : "$min minutes";
}
else {
    $hours = round($min / 60, 1);
    echo $hours == 1 ? "$hours hour" : "$hours hours";
}

输出示例:

1 minute
20 minutes
50 minutes
1 hour
1.2 hours
1.5 hours
1.7 hours

您似乎有一个存储分钟数的变量,在您的例子中是 $cat['prepration_time']。要将分钟输出为十进制小时,您真正需要做的就是将分钟数除以 60,即一小时中的分钟数。在你的情况下是

echo $cat['preparation_time'] / 60 . ' hours';

为了避免像1.33333333333 hours这样尴尬的结果,你可以额外将计算包裹在round中,其中round的第二个参数是精度,即后面的位数点.

$minutes = 77;
echo round($minutes / 60, 2) . ' hours'; // 1.28 hours

但是请注意,这种格式的可读性很差并且容易引起误解。 1.30 hours 是指 1 hour and 30 minutes 还是 1 hour and 18 minutes?虽然您可能能够在脑海中转换 1.30 hours,但您肯定需要一个计算器来计算 1.283 hours。我建议使用一种普遍理解且明确的格式,例如 1 hour and 32 minutes1:32 hours.