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

PHP时间差计算函数return返回意外字符串问题排查

问题原因

  • 变量名不匹配:你定义的time_interval函数接收的两个参数名为mf_start_time和mf_end_time,但函数内部调用strtotime时使用的是未定义的$start_time和$end_time。这会触发PHP未定义变量警告,strtotime接收到空值后会返回false,后续所有时间差计算都基于错误值执行,自然返回异常字符串。
  • 语法混用:代码开头用了Javascript的var关键字定义变量,PHP中定义变量不需要加var,直接使用$变量名 = 赋值的格式即可,否则会触发PHP语法错误。

修复后参考代码

$mf_start_time   = "10:30:30";
$mf_end_time     = "11:10:10";
function time_interval($mf_start_time,$mf_end_time)
{
    $s = strtotime($mf_start_time);
    $e = strtotime($mf_end_time);
    if ($s < $e)
    {
        $a = $e - $s;
    }
    else
    {
        $e = strtotime('+1 day',$e);
        $a = $e - $s;
    }
    
    $h = floor($a/3600);
    $m = floor(($a%3600)/60);
    $s = $a%60;
    
    return trim(($h?$h.' hour ':'').($m?$m.' minute ':'').($s?$s.' second ':''));
}

调用该函数计算你给出的两个时间,会正常返回39 minute 40 second。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 00:12:02