doulin9679 2011-10-29 11:25
浏览 83
已采纳

PHP DateTime类在$ obj-> diff()上产生错误为什么?

Why the following code:

function dDiff($start, $end = false)
{
    if(!$end)
    {
        $end = time();
    }

    if(!is_numeric($start) || !is_numeric($end))
    {
        return false;
    }

    $start  = date('Y-m-d H:i:s',$start); 
    $end    = date('Y-m-d H:i:s',$end); 
    $d_start    = new DateTime($start);
    $d_end      = new DateTime($end);
    $diff = $d_start->diff($d_end);

    return array(
        'year' => $diff->format('%y'),
        'month' => $diff->format('%m'),
        'day' => $diff->format('%d'),
        'hour' => $diff->format('%h'),
        'min' => $diff->format('%i'),
        'sec' => $diff->format('%s')
    );
}

produce that error :

Fatal error: Call to undefined method DateTime::diff()
  • 写回答

1条回答 默认 最新

  • drbouzlxb92333332 2011-10-29 11:46
    关注

    You get the error because the diff() function does not exists on the DateTime object. That's the case with PHP versions below 5.3 In the manual that's written as

    (PHP 5 >= 5.3.0)

    on top of each function page.

    You either need to make PHP 5.3 a requirement for your plugin and/or switch to an alternative routine for that part. See How to calculate the difference between two dates using PHP?.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教