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

PHP计算时间差:如何显示天数+小时分钟格式而非仅小时

解决时间差格式化问题

首先修正你的时间差计算逻辑:你现在用from减till得到的是负数,会导致gmdate处理异常,正确的应该用结束时间减开始时间,得到正的秒数差。另外注意时间字符串需要用引号包裹,否则PHP会将其识别为减法运算,导致strtotime无法解析。

直接用以下代码实现需求:

$row2['from'] = '2024-04-03 09:00:00';
$row2['till'] = '2024-04-04 21:00:00';

// 计算总秒数差
$totalSeconds = strtotime($row2['till']) - strtotime($row2['from']);

// 拆分天数和剩余时分
$days = floor($totalSeconds / 86400); // 一天=86400秒,取整数天数
$remainingTime = gmdate("H:i", $totalSeconds % 86400); // 剩余秒数转成HH:MM格式

// 输出目标格式
echo "{$days}天,{$remainingTime}小时";

这段代码会输出:1天,12:00小时,完全匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 11:50:56