You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何将hh:ss格式时长转换为带小数的小时数?

解决hh:ss转小时小数格式的PHP方法

核心逻辑很简单:把分钟部分换算成小时的小数(1分钟=1/60小时),再和小时部分相加即可。

实现代码

function convertHhSsToDecimal($timeStr) {
    // 分割小时与分钟
    list($hours, $minutes) = explode(':', $timeStr);
    // 计算小数形式的小时数
    return (int)$hours + ((int)$minutes / 60);
}

// 测试用例
echo convertHhSsToDecimal('36:15'); // 输出 36.25
echo convertHhSsToDecimal('36:30'); // 输出 36.5
echo convertHhSsToDecimal('36:45'); // 输出 36.75

补充说明

  • 如果需要固定小数位数(比如保留两位),可以用round()或number_format()处理返回值,比如:return round((int)$hours + ((int)$minutes / 60), 2);
  • 确保输入的$timeStr格式严格为hh:ss,如果有格式不规范的情况,可以先做校验(比如用正则匹配/^\d+:\d+$/)

内容的提问来源于stack exchange,提问作者cornacum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:14:51