2017-10-18 88 views
-1

我是新與Symfony2的PHP,我已經屬於格式化日期的問題。Symfony2的日期轉換(DD.MM.YYYY)至(YYYY-MM-DD)

我有一個表格,用戶可以用這種格式輸入日期:dd.mm.yyyy。 SQL數據庫使用這種格式:yyyy-mm-dd。現在當做一個SQL查詢我當然得到一個不匹配。

public function getFindingPatientQuery($birthdate){ 
    $em = $this->getEntityManager(); 
    $query = $em->createQuery(
      'SELECT p 
      FROM Data\LiveBundle\Entity\DataAPatient p 
      WHERE p.pDateOfBirth = :birthdate' 
     )->setParameter('birthdate', $birthdate| ('Y-m-d')); 

    return $query; 
} 

什麼是輸入dd.mm.yyyy日期轉換爲所要求的格式yyyy-mm-dd最簡單的方法?如果我需要一次以上的轉換,是否存在一些全局解決方案?我更喜歡非JavaScript解決方案。

我在論壇發現了一些答案,但沒有任何工作。

謝謝

+0

歡迎SO。在您寫更多內容之前,請閱讀:https://stackoverflow.com/help/mcve。此外,這個問題太廣泛了。本網站不是代碼編寫服務,不適用於提供完整的解決方案。預計用戶將展示一些努力和代碼,而SO在此期間將幫助您解決具體的編程問題。請顯示你的嘗試。 –

回答

0

,用來指示參數類型,並確保$birthdate變量是一個\DateTime對象:

use Doctrine\DBAL\Types\Type; 
... 
->setParameter('birthdate', $birthdate, Type::DATE); 
0

可能是你的出生日期是不是類型日期?

$date = DateTime::createFromFormat('j-M-Y', $birthdate); 
echo $date->format('Y-m-d'); 
相關問題