2014-05-14 112 views
-1

我想將日期格式從(ymd)更改爲(dmy),但我有一個錯誤:警告:date_format()期望參數1爲DateTime,字符串給定在d:\瓦帕\ WWW \ PHARMACIE \ VENTE \的index.php上線124 調用棧更改日期格式不起作用

if(isset($_POST['date_vente'])) { 
$VenteObject = $managerVente->getListParDate(date_format($_POST['date_vente'], 'd-m-y')) ; 
echo $_POST['date_vente'] ; 
} 
else { 
$VenteObject = $managerVente->getList() ; 
} 

,這是請求

public function getListParDate($date) 
    { 
    $vente = array(); 
    $q = $this->_db->prepare('SELECT * FROM vente where date="'.$date.'" ORDER BY id DESC ') or die(print_r($req->errorInfo())); 
    $q->execute() ; 

     while ($donnees = $q->fetch(PDO::FETCH_ASSOC)) 
    { 
     $vente[] = new Vente($donnees); 
    } 
     return $vente; 

    } 

回聲$ _POST [ 'date_vente'] ;給YMD

+0

你所有的答案都在文檔中http://php.net/manual/en/datetime.format.php你的第一個問題是沒有考慮錯誤消息,參數1想要「DateTime」而不是你給它的字符串。 – Scuzzy

+0

爲什麼你想在第一個地方格式化它? 'Y-m-d'是mysql的完美格式 – zerkms

回答

1

documentation展示瞭如何使用DateTime類:

$date = new DateTime($_POST['date_venue']); 
$new_date = $date->format('d-m-y'); 

$VenteObject = $managerVente->getListParDate($new_date) ; 
echo $new_date; 
+0

更不用說他們**不需要**重新格式化日期:-D – zerkms

+0

非常感謝你 – hous