0

致命错误:在非对象上调用成员函数 format()

看法

 <?php

        $date = $listProject->enddate;
   $data['enddate'] = $date->format('Y-m-d');
   $time['time'] = $date->format('H:i:s');

                                              ?>

 <?php echo get_datetime($listProject->enddate);?>(<?php echo '<b style="color:red;">'.days_left($listProject->enddate,$listProject->id).'</b>';?>)

控制器

$this->outputData['listProjects']   = $this->skills_model->getProjects($urgent_conditions,NULL,NULL,array(15),$order);
$this->load->view('listProjects',$this->outputData);

模型

$this->db->select('projects.created,projects.enddate');

谢谢!:D 我尝试在 VIew 和控制器上执行此操作,但仍然出现错误,上面的错误是由 View 引起的

添加在 MY_date_helper 中找到这个

if ( ! function_exists('get_datetime'))

{ 函数 get_datetime($timestamp)

{
    $CI =& get_instance();
    $CI->lang->load('enduser/common');
    if(date('d/M/Y') == date('d/M/Y',$timestamp))
    $date = $CI->lang->line('Today at')." ".date('H:i',$timestamp)." UTC";
    else
    $date = date('d-M-Y H:i',$timestamp)." UTC";        
    return $date;
}

PHP版本:5.2.17

4

3 回答 3

2

使用strtotime...

 <?php

$date = $listProject->enddate;
$data['enddate']=date('Y-m-d',strtotime($date));
$time['time'] = date('H:i:s',strtotime($date));
于 2012-10-16T10:13:33.443 回答
1

尝试

$date = new DateTime($listProject->enddate);

代替

$date = $listProject->enddate;

编辑:使:

$date = new DateTime();
$date->setTimestamp($listProject->enddate);
于 2012-10-16T09:55:42.500 回答
1

我最近在我的 CI 项目中遇到了同样的问题。我用这种方法解决了它,它有效:

甚至下面的这个字符串也给出了同样的错误:

$date = new DateTime($listProject->enddate);

我用这个解决了它:

$date = new DateTime(strtotime($listProject->enddate));

然后在它下面,随意格式化时间:

$date->format('d/m/Y');

这里的主要原因是,您的日期字符串如何包含一些 DateTime 方法不知道的字符!strtotime() 方法正确地将您的字符串转换为日期格式。

于 2015-12-30T10:34:55.117 回答