Я пытаюсь перечислить время, оставшееся на аукционе. Ниже приведен запрос SQL для сбора данных элемента. В базе данных есть время создания и окончания, которое хранится как дата-время. В конце foreach я получаю текущее время от системы.Вычитание системного времени php из элемента datetime SQL
Что я хочу, это разница между ними, так что я могу отображать оставшееся время на аукционе. Я пробовал несколько способов, но, похоже, не могу его решить. Как мне это сделать?
$query = $this->db->query("SELECT * FROM tbl_auction_listing WHERE list_pk = $item LIMIT 1;");
foreach ($query->result() as $row)
{
$sellerid = $row->seller_fk;
$title = $row->title;
$description = $row->description;
$img_url = $row->image_url;
$category = $row->category_fk;
$starttime = $row->start_datetime;
$endtime = $row->end_datetime;
$startprice = $row->start_price;
$reserve = $row->reserve_price;
$buyprice = $row->bin_price;
$visits = $row->visits;
$now = date("Y-m-d H:i:s");
}
Примечание:
$remaining = $endtime->diff($now)->format("%m months, %d days, %H hours and %i minutes");
эта линия не похоже на работу. Она ошибка:
Fatal error: Call to a member function diff() on a non-object in controllers/listings.php on line 28
http://stackoverflow.com/a/20556191/ - если это не то, что вы ищете, покажите нам, что вы пробовали. Есть много способов сделать это. –
Я просто добавил редактирование, которое показывает, что я пробовал, спасибо. – user3175451
Попробуйте 'timediff' вместо' diff' - может быть причина. Это и/или не-объект; возможно, сбойный запрос. –