PHP如何将分钟数转换为十进制小时格式(如90分钟转1.5小时)
PHP分钟转十进制小时实现方法
你之前的代码逻辑存在问题:直接将取余得到的分钟数作为小数部分拼接,会把30分钟识别为0.3而非对应的0.5,不符合十进制小时的计算规则。
正确实现只需要将总分钟数直接除以60即可,按需可以搭配小数格式化函数控制展示精度:
- 基础实现(自动适配精度)
echo $ct['time'] / 60 . ' Hours';
示例:90分钟会直接输出1.5 Hours,120分钟输出2 Hours
- 固定保留1位小数(符合你需要的1.5、1.6这类展示效果)
// 最后一个参数设为空是为了避免分钟数过大时出现千分位逗号 echo number_format($ct['time'] / 60, 1, '.', '') . ' Hours';
示例:110分钟计算得1.833...,格式化后输出1.8 Hours
- 保留1位小数且自动去掉末尾无意义的0
echo floatval(number_format($ct['time'] / 60, 1, '.', '')) . ' Hours';
示例:120分钟不会输出2.0 Hours,而是输出2 Hours
内容的提问来源于stack exchange,提问作者martin
相关产品推荐
相关产品推荐

