Проблемы PHP с функцией даты - PullRequest
0 голосов
/ 16 февраля 2012
global $adb;                                

$sql = 'SELECT * from vtiger_invoice where invoiceid = ?';
 $result = $adb->pquery($sql,array($_REQUEST['record']));
 $fecha=$adb->query_result($result,$i,'invoicedate'); 

for($i=0;$i<sizeof($vencimientos);$i++)
{
$date[$i] = date_create($fecha);
date_add($date[$i], date_interval_create_from_date_string($periodicidad.' days'));
$fechafinal = explode(" ",$date[$i]->date);
$splitdate = explode("-",$fechafinal[0]);
$reversedate = array_reverse($splitdate);  
 $fechafinal = implode("-",$reversedate);                    

$pdf->MultiCell(100, $summaryCellHeight , $fechafinal, '', 'L', 0, 1, $summaryLineX+135, $summaryLineY);

$summaryLineY += 4;
}

Проблема в том, что этот код не работает, или, по крайней мере, $ fechafinal не получил значение. При отладке все работает на 100%, но при выполнении не работает.

Я пытался поставить 'спит', но тоже не работает.

Что я могу сделать? Это странно, потому что я не могу найти ошибку, потому что при отладке все работает: /

1 Ответ

1 голос
/ 16 февраля 2012

Я думаю, что проблема может заключаться в этой строке:

$fechafinal = explode(" ",$date[$i]->date);

У объекта DateTime нет общедоступной даты-члена, поэтому вы не получите никакой строки.То, что вы хотите использовать, это format ().

С format () Вы можете заменить эти четыре строки:

$fechafinal = explode(" ",$date[$i]->date);
$splitdate = explode("-",$fechafinal[0]);
$reversedate = array_reverse($splitdate);  
$fechafinal = implode("-",$reversedate); 

на:

$fechafinal = $date[$i]->format('d-m-Y'); // Change the formatting to what you need.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...