You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PHP如何计算两个日期之间的小时及剩余分钟?

解决PHP计算日期差中剩余分钟的问题

嘿,我来帮你搞定这个计算剩余分钟的问题!你的原脚本已经能算出天数和小时,但只需要稍微调整一下计算逻辑,就能精确得到剩余的分钟数啦。

修改后的完整代码

<?php
$datestr = "2011-09-23 19:10:18";
$date = strtotime($datestr);
$diff = $date - time(); // 获取目标时间与当前时间的秒数差

// 处理目标时间已过去的情况(可选,避免出现负数)
if ($diff < 0) {
    echo "目标时间已经过去啦!";
    exit;
}

$days = floor($diff / 86400); // 86400 = 60*60*24,一天的秒数
$remaining_after_days = $diff % 86400; // 计算完天数后剩余的秒数

$hours = floor($remaining_after_days / 3600); // 3600 = 60*60,一小时的秒数
$remaining_after_hours = $remaining_after_days % 3600; // 计算完小时后剩余的秒数

$minutes = floor($remaining_after_hours / 60); // 计算剩余分钟数

echo "$days days $hours hours $minutes minutes remain<br />";
?>

关键调整说明

  • 原脚本用round()计算小时可能会出现四舍五入的误差,改成floor()配合取余运算(%),能更精准地拆分出剩余的时间单位
  • 通过分步取余,我们可以依次从总秒数中剥离天数、小时数,最后剩下的秒数就能直接算出剩余分钟数
  • 额外加了一个负数判断,避免目标时间在过去时输出奇怪的负数结果(这一步是可选的,根据你的需求决定是否保留)

这样调整后,就能准确显示天、小时、分钟的剩余时间啦!

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

火山引擎 最新活动