2016-03-03 2 views
0

Я попытался получить эту функцию разности дат, работающую всю ночь, ее штраф до тех пор, пока я не передам ей две переменные.PHP date_diff() с использованием переменных из базы данных

Что я делаю неправильно?

<h2>Date diff attempt</h2> 
    <?php 
    $z = $row->account_add_date; 
    $y = $row->start_amount; 

    $date1=date_create($z); 
    $date2=date_create($y); 
    $diff=date_diff($date1,$date2); 
    echo $diff->format('%d days'); 
    ?> 

Когда я запускаю его я получаю

Severity: Warning 

Message: date_diff() expects parameter 2 to be DateTime, boolean given 
+0

что это $ row-> start_amount отдавания ?. Это дата из базы данных? – Gopalakrishnan

+0

Его из запроса выше, чтобы получить переменную из базы данных. – Beep

+0

Сообщение означает, что ваш «$ z = $ row-> account_add_date; $ y = $ row-> start_amount;" не время. –

ответ

0

Он работает нормально, я вещь, есть некоторые проблемы в вашем $ row-> account_add_date и $ row-> start_amount

<h2>Date diff attempt</h2> 
<?php 
$z = "2013-03-15"; 
$y = "2013-03-31"; 

$date1=date_create($z); 
$date2=date_create($y); 
$diff=date_diff($date1,$date2); 
echo $diff->format('%d days'); 
?> 
+0

Да, я поставил start_amount не start_date, я плохой. Спасибо, парни – Beep

0

Попробуйте это.

$date1 = $row->account_add_date; 
$date2 =$row->start_amount;  
$date1 = new DateTime($date1); 
$date2 = new DateTime($date2); 

echo $date1->diff($date2)->format("%d days, %h hours and %i minuts"); 
+0

http://stackoverflow.com/questions/24608529/date-diff-expects-parameter-1-to-be-datetimeinterface-string-given –